diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2020-10-26 10:51:06 +0100 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2020-10-26 15:44:28 +0100 |
| commit | e6e35dba937599d098fc034eff2686e5ddc409e9 (patch) | |
| tree | 802be708d0bc84dee01b9285639690a53f1f6f94 /pkg/host/syscalls_linux.go | |
| parent | d46bc75207fea1d7671c1277dd660cf1a4d7847b (diff) | |
sys/targets: add OS/Arch name consts
We use strings to identify OS/Arch.
These strings are duplicated throughout the code base massively.
golangci-lint points to possiblity of typos and duplication.
We already had to define these names in pkg/csource
and disable checking for prog package. A future change triggers
such warnings in another package.
Add OS/Arch name consts to sys/targets so that they can be used
to refer to OS/Arch. Use the consts everywhere.
Diffstat (limited to 'pkg/host/syscalls_linux.go')
| -rw-r--r-- | pkg/host/syscalls_linux.go | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/pkg/host/syscalls_linux.go b/pkg/host/syscalls_linux.go index ff41da68b..16cfbfa46 100644 --- a/pkg/host/syscalls_linux.go +++ b/pkg/host/syscalls_linux.go @@ -18,6 +18,7 @@ import ( "github.com/google/syzkaller/pkg/osutil" "github.com/google/syzkaller/prog" + "github.com/google/syzkaller/sys/targets" ) func isSupported(c *prog.Syscall, target *prog.Target, sandbox string) (bool, string) { @@ -74,17 +75,17 @@ func parseKallsyms(kallsyms []byte, arch string) map[string]bool { set := make(map[string]bool) var re *regexp.Regexp switch arch { - case "386", "amd64": + case targets.I386, targets.AMD64: re = regexp.MustCompile(` T (__ia32_|__x64_)?sys_([^\n]+)\n`) - case "arm", "arm64": + case targets.ARM, targets.ARM64: re = regexp.MustCompile(` T (__arm64_)?sys_([^\n]+)\n`) - case "ppc64le": + case targets.PPC64LE: re = regexp.MustCompile(` T ()?sys_([^\n]+)\n`) - case "mips64le": + case targets.MIPS64LE: re = regexp.MustCompile(` T sys_(mips_)?([^\n]+)\n`) - case "s390x": + case targets.S390x: re = regexp.MustCompile(` T (__s390_|__s390x_)?sys_([^\n]+)\n`) - case "riscv64": + case targets.RiscV64: re = regexp.MustCompile(` T sys_(riscv_)?([^\n]+)\n`) default: panic("unsupported arch for kallsyms parsing") @@ -191,11 +192,11 @@ func isWifiEmulationSupported(c *prog.Syscall, target *prog.Target, sandbox stri func isSyzKvmSetupCPUSupported(c *prog.Syscall, target *prog.Target, sandbox string) (bool, string) { switch c.Name { case "syz_kvm_setup_cpu$x86": - if runtime.GOARCH == "amd64" || runtime.GOARCH == "386" { + if runtime.GOARCH == targets.AMD64 || runtime.GOARCH == targets.I386 { return true, "" } case "syz_kvm_setup_cpu$arm64": - if runtime.GOARCH == "arm64" { + if runtime.GOARCH == targets.ARM64 { return true, "" } } |
