diff options
| author | Joey Jiao <quic_jiangenj@quicinc.com> | 2024-07-08 11:08:29 +0800 |
|---|---|---|
| committer | Aleksandr Nogikh <nogikh@google.com> | 2024-07-10 09:29:04 +0000 |
| commit | e7213be306a4b6eb76d4c0e34a1a99ebab5639ac (patch) | |
| tree | 5b058ce192f157ecb1bab6a14a7ae79a3053ab60 /pkg/vminfo | |
| parent | 9e136b95503a540d35e7bace3e89b77f13a672b1 (diff) | |
all: move KernelModule into vminfo package
Diffstat (limited to 'pkg/vminfo')
| -rw-r--r-- | pkg/vminfo/linux.go | 10 | ||||
| -rw-r--r-- | pkg/vminfo/netbsd.go | 3 | ||||
| -rw-r--r-- | pkg/vminfo/openbsd.go | 3 | ||||
| -rw-r--r-- | pkg/vminfo/vminfo.go | 14 | ||||
| -rw-r--r-- | pkg/vminfo/vminfo_test.go | 1 |
5 files changed, 17 insertions, 14 deletions
diff --git a/pkg/vminfo/linux.go b/pkg/vminfo/linux.go index d6b83ef2f..23b317010 100644 --- a/pkg/vminfo/linux.go +++ b/pkg/vminfo/linux.go @@ -13,8 +13,6 @@ import ( "sort" "strconv" "strings" - - "github.com/google/syzkaller/pkg/cover" ) type linux int @@ -45,13 +43,13 @@ func (linux) machineInfos() []machineInfoFunc { } } -func (linux) parseModules(files filesystem) ([]*cover.KernelModule, error) { +func (linux) parseModules(files filesystem) ([]*KernelModule, error) { _, err := files.ReadFile("/proc/sentry-meminfo") if err == nil { // This is gVisor. return nil, nil } - var modules []*cover.KernelModule + var modules []*KernelModule re := regexp.MustCompile(`(\w+) ([0-9]+) .*(0[x|X][a-fA-F0-9]+)[^\n]*`) modulesText, _ := files.ReadFile("/proc/modules") for _, match := range re.FindAllSubmatch(modulesText, -1) { @@ -72,7 +70,7 @@ func (linux) parseModules(files filesystem) ([]*cover.KernelModule, error) { return nil, fmt.Errorf("module %v size parsing error: %w", name, err) } offset := modAddr - textAddr - modules = append(modules, &cover.KernelModule{ + modules = append(modules, &KernelModule{ Name: name, Addr: textAddr, // The size is wrong as there is overlap in /proc/modules @@ -86,7 +84,7 @@ func (linux) parseModules(files filesystem) ([]*cover.KernelModule, error) { if err != nil { return nil, err } - modules = append(modules, &cover.KernelModule{ + modules = append(modules, &KernelModule{ Name: "", Addr: _stext, Size: _etext - _stext, diff --git a/pkg/vminfo/netbsd.go b/pkg/vminfo/netbsd.go index d447e33c5..e79e5a05f 100644 --- a/pkg/vminfo/netbsd.go +++ b/pkg/vminfo/netbsd.go @@ -4,7 +4,6 @@ package vminfo import ( - "github.com/google/syzkaller/pkg/cover" "github.com/google/syzkaller/prog" ) @@ -18,7 +17,7 @@ func (netbsd) checkFiles() []string { return nil } -func (netbsd) parseModules(files filesystem) ([]*cover.KernelModule, error) { +func (netbsd) parseModules(files filesystem) ([]*KernelModule, error) { return nil, nil } diff --git a/pkg/vminfo/openbsd.go b/pkg/vminfo/openbsd.go index 7ecb96f81..e7c0d78e2 100644 --- a/pkg/vminfo/openbsd.go +++ b/pkg/vminfo/openbsd.go @@ -4,7 +4,6 @@ package vminfo import ( - "github.com/google/syzkaller/pkg/cover" "github.com/google/syzkaller/prog" ) @@ -18,7 +17,7 @@ func (openbsd) checkFiles() []string { return nil } -func (openbsd) parseModules(files filesystem) ([]*cover.KernelModule, error) { +func (openbsd) parseModules(files filesystem) ([]*KernelModule, error) { return nil, nil } diff --git a/pkg/vminfo/vminfo.go b/pkg/vminfo/vminfo.go index eb012d1de..554bb3022 100644 --- a/pkg/vminfo/vminfo.go +++ b/pkg/vminfo/vminfo.go @@ -22,13 +22,19 @@ import ( "os" "strings" - "github.com/google/syzkaller/pkg/cover" "github.com/google/syzkaller/pkg/flatrpc" "github.com/google/syzkaller/pkg/fuzzer/queue" "github.com/google/syzkaller/prog" "github.com/google/syzkaller/sys/targets" ) +type KernelModule struct { + Name string + Addr uint64 + Size uint64 + Path string +} + type Checker struct { checker source queue.Source @@ -67,7 +73,7 @@ func New(ctx context.Context, cfg *Config) *Checker { } } -func (checker *Checker) MachineInfo(fileInfos []*flatrpc.FileInfo) ([]*cover.KernelModule, []byte, error) { +func (checker *Checker) MachineInfo(fileInfos []*flatrpc.FileInfo) ([]*KernelModule, []byte, error) { files := createVirtualFilesystem(fileInfos) modules, err := checker.parseModules(files) if err != nil { @@ -116,7 +122,7 @@ type machineInfoFunc func(files filesystem, w io.Writer) (string, error) type checker interface { RequiredFiles() []string checkFiles() []string - parseModules(files filesystem) ([]*cover.KernelModule, error) + parseModules(files filesystem) ([]*KernelModule, error) machineInfos() []machineInfoFunc syscallCheck(*checkContext, *prog.Syscall) string } @@ -176,7 +182,7 @@ func (stub) checkFiles() []string { return nil } -func (stub) parseModules(files filesystem) ([]*cover.KernelModule, error) { +func (stub) parseModules(files filesystem) ([]*KernelModule, error) { return nil, nil } diff --git a/pkg/vminfo/vminfo_test.go b/pkg/vminfo/vminfo_test.go index 049456e19..398cf93e2 100644 --- a/pkg/vminfo/vminfo_test.go +++ b/pkg/vminfo/vminfo_test.go @@ -15,6 +15,7 @@ import ( "github.com/google/syzkaller/pkg/flatrpc" "github.com/google/syzkaller/pkg/fuzzer/queue" "github.com/google/syzkaller/prog" + _ "github.com/google/syzkaller/sys" "github.com/google/syzkaller/sys/targets" ) |
