Skip to content

Commit 874e8af

Browse files
author
Ethan Graham
committed
tools/syz-prog2c: add vmlinux parsing stage for KFuzzTest
If vmlinux is specified as a flag, we perform a setup stage where we parse vmlinux for KFuzzTest targets.
1 parent e50f1fa commit 874e8af

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

tools/syz-prog2c/prog2c.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import (
1111
"runtime"
1212

1313
"github.com/google/syzkaller/pkg/csource"
14+
"github.com/google/syzkaller/pkg/kfuzztest"
1415
"github.com/google/syzkaller/prog"
1516
_ "github.com/google/syzkaller/sys"
1617
)
@@ -33,6 +34,7 @@ var (
3334
flagLeak = flag.Bool("leak", false, "do leak checking")
3435
flagEnable = flag.String("enable", "none", "enable only listed additional features")
3536
flagDisable = flag.String("disable", "none", "enable all additional features except listed")
37+
flagVmlinux = flag.String("vmlinux", "", "path to vmlinux binary (required for dynamically discovered calls")
3638
)
3739

3840
func main() {
@@ -54,6 +56,13 @@ func main() {
5456
fmt.Fprintf(os.Stderr, "%v\n", err)
5557
os.Exit(1)
5658
}
59+
if *flagVmlinux != "" {
60+
_, err = kfuzztest.ActivateKFuzzTargets(target, *flagVmlinux)
61+
if err != nil {
62+
fmt.Fprintf(os.Stderr, "%v\n", err)
63+
os.Exit(1)
64+
}
65+
}
5766
data, err := os.ReadFile(*flagProg)
5867
if err != nil {
5968
fmt.Fprintf(os.Stderr, "failed to read prog file: %v\n", err)

0 commit comments

Comments
 (0)