diff --git a/tools/syz-symbolize/symbolize.go b/tools/syz-symbolize/symbolize.go index 922b0dd8761a..0a884119b86e 100644 --- a/tools/syz-symbolize/symbolize.go +++ b/tools/syz-symbolize/symbolize.go @@ -24,6 +24,7 @@ var ( flagKernelObj = flag.String("kernel_obj", ".", "path to kernel build/obj dir") flagKernelSrc = flag.String("kernel_src", "", "path to kernel sources (defaults to kernel_obj)") flagOutDir = flag.String("outdir", "", "output directory") + flagConfig = flag.String("config", "", "optional configuration file") ) func main() { @@ -33,11 +34,17 @@ func main() { flag.PrintDefaults() os.Exit(1) } - cfg, err := mgrconfig.LoadPartialData([]byte(`{ - "kernel_obj": "` + *flagKernelObj + `", - "kernel_src": "` + *flagKernelSrc + `", - "target": "` + *flagOS + "/" + *flagArch + `" - }`)) + var err error + cfg := &mgrconfig.Config{} + if *flagConfig != "" { + cfg, err = mgrconfig.LoadPartialFile(*flagConfig) + } else { + cfg, err = mgrconfig.LoadPartialData([]byte(`{ + "kernel_obj": "` + *flagKernelObj + `", + "kernel_src": "` + *flagKernelSrc + `", + "target": "` + *flagOS + "/" + *flagArch + `" + }`)) + } if err != nil { tool.Fail(err) }