From 69a06ca2b532ff4021a43fdead4e2ac1452a44c0 Mon Sep 17 00:00:00 2001 From: Joey Jiao Date: Tue, 2 Mar 2021 09:31:32 +0800 Subject: all: add KernelModule cfg to show DLKM coverage PC returned for dynamic loaded module (DLKM) is not parsed in coverage page. So the commit is to use DLKM modules' load address to restore the PC and show coverage data of DLKM. As the load address is written in cfg file, so kaslr needs to be disabled. And for linux target, load address is getting from /proc/modules during instance setup. For either manual or auto address setting case, name and path are needed in config kernel_modules, where name is module name on target. path is module unstripped object path on host. addr is decimal value of module load address on target. Example of config: "kernel_modules": [ { "name": "nf_nat", "path": "/usr/src/linux-source/net/netfilter/nf_nat.ko", "addr": 18446744072637911040 } ] --- tools/syz-cover/syz-cover.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'tools') diff --git a/tools/syz-cover/syz-cover.go b/tools/syz-cover/syz-cover.go index 4c69b6c09..6e16b828d 100644 --- a/tools/syz-cover/syz-cover.go +++ b/tools/syz-cover/syz-cover.go @@ -67,7 +67,7 @@ func main() { if err != nil { tool.Fail(err) } - rg, err := cover.MakeReportGenerator(target, *flagVM, *flagKernelObj, *flagKernelSrc, *flagKernelBuildSrc, nil) + rg, err := cover.MakeReportGenerator(target, *flagVM, *flagKernelObj, *flagKernelSrc, *flagKernelBuildSrc, nil, nil) if err != nil { tool.Fail(err) } -- cgit mrf-deployment