diff options
| author | Alexander Potapenko <glider@google.com> | 2024-08-08 17:12:18 +0200 |
|---|---|---|
| committer | Alexander Potapenko <glider@google.com> | 2024-09-03 12:16:36 +0000 |
| commit | 89418520e59f2957dbb192c9db4eb45f108459a4 (patch) | |
| tree | 1704e0524bcf12e712d793d6624a497864eaecdc /pkg/vminfo | |
| parent | be562dffcc62a7644ab55833c9650774fb462ebe (diff) | |
executor: pkg/vminfo: sys/linux: define syz_kvm_vgic_v3_setup
The new pseudo-syscall sets up VGICv3 IRQ controller on the host.
That still requires guest setup code, which will be submitted separately.
Diffstat (limited to 'pkg/vminfo')
| -rw-r--r-- | pkg/vminfo/linux_syscalls.go | 8 | ||||
| -rw-r--r-- | pkg/vminfo/linux_test.go | 1 |
2 files changed, 9 insertions, 0 deletions
diff --git a/pkg/vminfo/linux_syscalls.go b/pkg/vminfo/linux_syscalls.go index 3f675c6a9..2b02ad7f9 100644 --- a/pkg/vminfo/linux_syscalls.go +++ b/pkg/vminfo/linux_syscalls.go @@ -80,6 +80,7 @@ var linuxSyscallChecks = map[string]func(*checkContext, *prog.Syscall) string{ "syz_usb_ep_write": linuxCheckUSBEmulation, "syz_usb_ep_read": linuxCheckUSBEmulation, "syz_kvm_setup_cpu": linuxSyzKvmSetupCPUSupported, + "syz_kvm_vgic_v3_setup": linuxSyzKvmVgicV3SetupSupported, "syz_emit_vhci": linuxVhciInjectionSupported, "syz_init_net_socket": linuxSyzInitNetSocketSupported, "syz_genetlink_get_family_id": linuxSyzGenetlinkGetFamilyIDSupported, @@ -184,6 +185,13 @@ func linuxSyzKvmSetupCPUSupported(ctx *checkContext, call *prog.Syscall) string return "unsupported arch" } +func linuxSyzKvmVgicV3SetupSupported(ctx *checkContext, call *prog.Syscall) string { + if ctx.target.Arch == targets.ARM64 { + return "" + } + return "unsupported arch" +} + func linuxSupportedMount(ctx *checkContext, call *prog.Syscall) string { return linuxSupportedFilesystem(ctx, call, 2) } diff --git a/pkg/vminfo/linux_test.go b/pkg/vminfo/linux_test.go index c026eb478..5295f4e94 100644 --- a/pkg/vminfo/linux_test.go +++ b/pkg/vminfo/linux_test.go @@ -48,6 +48,7 @@ func TestLinuxSyscalls(t *testing.T) { expectDisabled := map[string]bool{ "syz_kvm_setup_cpu$arm64": true, "syz_kvm_setup_cpu$ppc64": true, + "syz_kvm_vgic_v3_setup": true, } // All mount and syz_mount_image calls except for ext4 and binder will be disabled. for call := range disabled { |
