aboutsummaryrefslogtreecommitdiffstats
path: root/pkg
diff options
context:
space:
mode:
authorMarios Pomonis <pomonis@google.com>2025-04-01 01:43:18 -0700
committerAlexander Potapenko <glider@google.com>2025-04-23 08:29:55 +0000
commit3b7466b943b5126cb450f32b99d54bfb536e510d (patch)
treead98a52e5befbd868768e3f0ce48c2728b46063d /pkg
parent79edc45e0ef45be0eb57b66f8a87d69953e0abf3 (diff)
executor/kvm: add x86-64 SYZOS fuzzer
This commit adds the actual SyzOS fuzzer for x86-64 and a small test. It also updates some necessary parts of the ARM version and adds some glue for i386.
Diffstat (limited to 'pkg')
-rw-r--r--pkg/vminfo/linux_syscalls.go9
1 files changed, 7 insertions, 2 deletions
diff --git a/pkg/vminfo/linux_syscalls.go b/pkg/vminfo/linux_syscalls.go
index 589f52123..7f64ce380 100644
--- a/pkg/vminfo/linux_syscalls.go
+++ b/pkg/vminfo/linux_syscalls.go
@@ -83,7 +83,7 @@ var linuxSyscallChecks = map[string]func(*checkContext, *prog.Syscall) string{
"syz_kvm_vgic_v3_setup": linuxSyzSupportedOnArm64,
"syz_kvm_setup_syzos_vm": linuxSyzKvmSupported,
"syz_kvm_add_vcpu": linuxSyzKvmSupported,
- "syz_kvm_assert_syzos_uexit": linuxSyzSupportedOnArm64,
+ "syz_kvm_assert_syzos_uexit": linuxSyzKvmSupported,
"syz_kvm_assert_reg": linuxSyzSupportedOnArm64,
"syz_emit_vhci": linuxVhciInjectionSupported,
"syz_init_net_socket": linuxSyzInitNetSocketSupported,
@@ -176,11 +176,16 @@ const unsupportedArch = "unsupported arch"
func linuxSyzKvmSupported(ctx *checkContext, call *prog.Syscall) string {
switch call.Name {
- case "syz_kvm_setup_cpu$x86", "syz_kvm_setup_syzos_vm$x86", "syz_kvm_add_vcpu$x86":
+ case "syz_kvm_setup_cpu$x86":
if ctx.target.Arch == targets.AMD64 || ctx.target.Arch == targets.I386 {
return ""
}
+ case "syz_kvm_setup_syzos_vm$x86", "syz_kvm_add_vcpu$x86", "syz_kvm_assert_syzos_uexit$x86":
+ if ctx.target.Arch == targets.AMD64 {
+ return ""
+ }
case "syz_kvm_setup_cpu$arm64", "syz_kvm_setup_syzos_vm$arm64", "syz_kvm_add_vcpu$arm64":
+ case "syz_kvm_assert_syzos_uexit$arm64":
if ctx.target.Arch == targets.ARM64 {
return ""
}