aboutsummaryrefslogtreecommitdiffstats
path: root/sys/linux/test
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 /sys/linux/test
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 'sys/linux/test')
-rw-r--r--sys/linux/test/amd64-syz_kvm_setup_syzos_vm29
-rw-r--r--sys/linux/test/arm64-syz_kvm_setup_syzos_vm6
-rw-r--r--sys/linux/test/arm64-syz_kvm_setup_syzos_vm-enable-pmu-mrs2
-rw-r--r--sys/linux/test/arm64-syz_kvm_setup_syzos_vm-enable-pmu-msr2
-rw-r--r--sys/linux/test/arm64-syz_kvm_setup_syzos_vm-enable-pmu-msr-emul-02
-rw-r--r--sys/linux/test/arm64-syz_kvm_setup_syzos_vm-enable-pmu-msr-emul-12
-rw-r--r--sys/linux/test/arm64-syz_kvm_setup_syzos_vm-enable-pmu-msr-emul-22
-rw-r--r--sys/linux/test/arm64-syz_kvm_setup_syzos_vm-memwrite4
-rw-r--r--sys/linux/test/arm64-syz_kvm_setup_syzos_vm-mrs2
-rw-r--r--sys/linux/test/arm64-syz_kvm_setup_syzos_vm-msr2
-rw-r--r--sys/linux/test/arm64-syz_kvm_setup_syzos_vm-msr-emul-02
-rw-r--r--sys/linux/test/arm64-syz_kvm_setup_syzos_vm-msr-emul-12
-rw-r--r--sys/linux/test/arm64-syz_kvm_setup_syzos_vm-msr-emul-22
-rw-r--r--sys/linux/test/arm64-syz_kvm_setup_syzos_vm-msr-emul-32
-rw-r--r--sys/linux/test/arm64-syz_kvm_setup_syzos_vm-msr-emul-42
-rw-r--r--sys/linux/test/arm64-syz_kvm_setup_syzos_vm-smc2
-rw-r--r--sys/linux/test/arm64-syz_kvm_setup_syzos_vm-vgicv34
-rw-r--r--sys/linux/test/arm64-syz_kvm_setup_syzos_vm-vgicv3-cpu14
-rw-r--r--sys/linux/test/arm64-syz_kvm_setup_syzos_vm-vgicv3-its4
-rw-r--r--sys/linux/test/arm64-syz_kvm_setup_syzos_vm-vgicv3-its-cmd4
-rw-r--r--sys/linux/test/arm64-syz_kvm_setup_syzos_vm-vgicv3-unroll4
-rw-r--r--sys/linux/test/arm64-syz_kvm_setup_syzos_vm-wfe2
-rw-r--r--sys/linux/test/arm64-syz_kvm_setup_syzos_vm-wfet6
-rw-r--r--sys/linux/test/arm64-syz_kvm_setup_syzos_vm-wfi2
-rw-r--r--sys/linux/test/arm64-syz_kvm_setup_syzos_vm-wfit6
25 files changed, 65 insertions, 36 deletions
diff --git a/sys/linux/test/amd64-syz_kvm_setup_syzos_vm b/sys/linux/test/amd64-syz_kvm_setup_syzos_vm
new file mode 100644
index 000000000..09d6cfe27
--- /dev/null
+++ b/sys/linux/test/amd64-syz_kvm_setup_syzos_vm
@@ -0,0 +1,29 @@
+#
+# requires: arch=amd64 -threaded
+#
+r0 = openat$kvm(0, &AUTO='/dev/kvm\x00', 0x0, 0x0)
+r1 = ioctl$KVM_CREATE_VM(r0, AUTO, 0x0)
+r2 = syz_kvm_setup_syzos_vm$x86(r1, &(0x7f0000c00000/0x400000)=nil)
+# Perform two uexits. The first one is done via a code blob:
+# 4831ff xor rdi,rdi
+# 48c7c600000400 mov rsi,0x40000
+# 4881c600010000 add rsi,0x100
+# 48893e mov QWORD PTR [rsi],rdi
+# The second uexit is done via a syzos API command that sets uexit exit code to 0xaaaa.
+#
+r3 = syz_kvm_add_vcpu$x86(r2, &AUTO={0x0, &AUTO=[@code={AUTO, AUTO, {"4831ff48c7c6000004004881c60001000048893e", 0xc3}}, @uexit={AUTO, AUTO, 0xaaaa}], AUTO})
+r4 = ioctl$KVM_GET_VCPU_MMAP_SIZE(r0, AUTO)
+r5 = mmap$KVM_VCPU(&(0x7f0000009000/0x1000)=nil, r4, 0x3, 0x1, r3, 0x0)
+
+# Run till the first uexit.
+#
+ioctl$KVM_RUN(r3, AUTO, 0x0)
+syz_kvm_assert_syzos_uexit$x86(r5, 0x0)
+# Run till the second uexit.
+#
+ioctl$KVM_RUN(r3, AUTO, 0x0)
+syz_kvm_assert_syzos_uexit$x86(r5, 0xaaaa)
+# Run till the end of guest_main(). 0xffffffffffffffff is UEXIT_END.
+#
+ioctl$KVM_RUN(r3, AUTO, 0x0)
+syz_kvm_assert_syzos_uexit$x86(r5, 0xffffffffffffffff)
diff --git a/sys/linux/test/arm64-syz_kvm_setup_syzos_vm b/sys/linux/test/arm64-syz_kvm_setup_syzos_vm
index 8ca716cd7..b2a0c59b4 100644
--- a/sys/linux/test/arm64-syz_kvm_setup_syzos_vm
+++ b/sys/linux/test/arm64-syz_kvm_setup_syzos_vm
@@ -19,12 +19,12 @@ r5 = mmap$KVM_VCPU(&(0x7f0000009000/0x1000)=nil, r4, 0x3, 0x1, r3, 0x0)
# Run till the first uexit.
#
ioctl$KVM_RUN(r3, AUTO, 0x0)
-syz_kvm_assert_syzos_uexit(r5, 0x0)
+syz_kvm_assert_syzos_uexit$arm64(r5, 0x0)
# Run till the second uexit.
#
ioctl$KVM_RUN(r3, AUTO, 0x0)
-syz_kvm_assert_syzos_uexit(r5, 0xaaaa)
+syz_kvm_assert_syzos_uexit$arm64(r5, 0xaaaa)
# Run till the end of guest_main(). 0xffffffffffffffff is UEXIT_END.
#
ioctl$KVM_RUN(r3, AUTO, 0x0)
-syz_kvm_assert_syzos_uexit(r5, 0xffffffffffffffff)
+syz_kvm_assert_syzos_uexit$arm64(r5, 0xffffffffffffffff)
diff --git a/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-enable-pmu-mrs b/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-enable-pmu-mrs
index 636660530..8a6dab724 100644
--- a/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-enable-pmu-mrs
+++ b/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-enable-pmu-mrs
@@ -22,4 +22,4 @@ r5 = mmap$KVM_VCPU(&(0x7f0000009000/0x1000)=nil, r4, 0x3, 0x1, r3, 0x0)
# Run till the end of guest_main(). 0xffffffffffffffff is UEXIT_END.
#
ioctl$KVM_RUN(r3, AUTO, 0x0)
-syz_kvm_assert_syzos_uexit(r5, 0xffffffffffffffff)
+syz_kvm_assert_syzos_uexit$arm64(r5, 0xffffffffffffffff)
diff --git a/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-enable-pmu-msr b/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-enable-pmu-msr
index 4a4697a53..c2586d557 100644
--- a/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-enable-pmu-msr
+++ b/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-enable-pmu-msr
@@ -22,5 +22,5 @@ r5 = mmap$KVM_VCPU(&(0x7f0000009000/0x1000)=nil, r4, 0x3, 0x1, r3, 0x0)
# Run till the end of guest_main(). 0xffffffffffffffff is UEXIT_END.
#
ioctl$KVM_RUN(r3, AUTO, 0x0)
-syz_kvm_assert_syzos_uexit(r5, 0xffffffffffffffff)
+syz_kvm_assert_syzos_uexit$arm64(r5, 0xffffffffffffffff)
syz_kvm_assert_reg(r3, 0x603000000013df40, 0x8000)
diff --git a/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-enable-pmu-msr-emul-0 b/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-enable-pmu-msr-emul-0
index 56a1f2c83..2e8f0fba9 100644
--- a/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-enable-pmu-msr-emul-0
+++ b/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-enable-pmu-msr-emul-0
@@ -35,7 +35,7 @@ r5 = mmap$KVM_VCPU(&(0x7f0000009000/0x1000)=nil, r4, 0x3, 0x1, r3, 0x0)
# Run till the end of guest_main(). 0xffffffffffffffff is UEXIT_END.
#
ioctl$KVM_RUN(r3, AUTO, 0x0)
-syz_kvm_assert_syzos_uexit(r5, 0xffffffffffffffff)
+syz_kvm_assert_syzos_uexit$arm64(r5, 0xffffffffffffffff)
syz_kvm_assert_reg(r3, 0x603000000013c4f1, 0x8000)
syz_kvm_assert_reg(r3, 0x603000000013c4f2, 0x8000)
syz_kvm_assert_reg(r3, 0x603000000013dce0, 0x8000)
diff --git a/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-enable-pmu-msr-emul-1 b/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-enable-pmu-msr-emul-1
index df58158c8..6ed9d7e2f 100644
--- a/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-enable-pmu-msr-emul-1
+++ b/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-enable-pmu-msr-emul-1
@@ -35,7 +35,7 @@ r5 = mmap$KVM_VCPU(&(0x7f0000009000/0x1000)=nil, r4, 0x3, 0x1, r3, 0x0)
# Run till the end of guest_main(). 0xffffffffffffffff is UEXIT_END.
#
ioctl$KVM_RUN(r3, AUTO, 0x0)
-syz_kvm_assert_syzos_uexit(r5, 0xffffffffffffffff)
+syz_kvm_assert_syzos_uexit$arm64(r5, 0xffffffffffffffff)
syz_kvm_assert_reg(r3, 0x603000000013dcea, 0x8000)
syz_kvm_assert_reg(r3, 0x603000000013dcf0, 0x8000)
syz_kvm_assert_reg(r3, 0x603000000013dcf3, 0x8000)
diff --git a/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-enable-pmu-msr-emul-2 b/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-enable-pmu-msr-emul-2
index cbe4f09fe..5f9720d25 100644
--- a/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-enable-pmu-msr-emul-2
+++ b/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-enable-pmu-msr-emul-2
@@ -32,7 +32,7 @@ r5 = mmap$KVM_VCPU(&(0x7f0000009000/0x1000)=nil, r4, 0x3, 0x1, r3, 0x0)
# Run till the end of guest_main(). 0xffffffffffffffff is UEXIT_END.
#
ioctl$KVM_RUN(r3, AUTO, 0x0)
-syz_kvm_assert_syzos_uexit(r5, 0xffffffffffffffff)
+syz_kvm_assert_syzos_uexit$arm64(r5, 0xffffffffffffffff)
syz_kvm_assert_reg(r3, 0x603000000013df60, 0x8000)
syz_kvm_assert_reg(r3, 0x603000000013df61, 0x8000)
syz_kvm_assert_reg(r3, 0x603000000013df62, 0x8000)
diff --git a/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-memwrite b/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-memwrite
index 4f36d5be3..187eadbc0 100644
--- a/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-memwrite
+++ b/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-memwrite
@@ -13,8 +13,8 @@ r5 = mmap$KVM_VCPU(&(0x7f0000009000/0x1000)=nil, r4, 0x3, 0x1, r3, 0x0)
# Run till the emulated uexit.
#
ioctl$KVM_RUN(r3, AUTO, 0x0)
-syz_kvm_assert_syzos_uexit(r5, 0x0)
+syz_kvm_assert_syzos_uexit$arm64(r5, 0x0)
# Run till the end of guest_main(). 0xffffffffffffffff is UEXIT_END.
#
ioctl$KVM_RUN(r3, AUTO, 0x0)
-syz_kvm_assert_syzos_uexit(r5, 0xffffffffffffffff)
+syz_kvm_assert_syzos_uexit$arm64(r5, 0xffffffffffffffff)
diff --git a/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-mrs b/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-mrs
index 3397c9e6e..b984289b2 100644
--- a/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-mrs
+++ b/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-mrs
@@ -14,4 +14,4 @@ r5 = mmap$KVM_VCPU(&(0x7f0000009000/0x1000)=nil, r4, 0x3, 0x1, r3, 0x0)
# Run till the end of guest_main(). 0xffffffffffffffff is UEXIT_END.
#
ioctl$KVM_RUN(r3, AUTO, 0x0)
-syz_kvm_assert_syzos_uexit(r5, 0xffffffffffffffff)
+syz_kvm_assert_syzos_uexit$arm64(r5, 0xffffffffffffffff)
diff --git a/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-msr b/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-msr
index acb3c10ca..1be423dbb 100644
--- a/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-msr
+++ b/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-msr
@@ -14,5 +14,5 @@ r5 = mmap$KVM_VCPU(&(0x7f0000009000/0x1000)=nil, r4, 0x3, 0x1, r3, 0x0)
# Run till the end of guest_main(). 0xffffffffffffffff is UEXIT_END.
#
ioctl$KVM_RUN(r3, AUTO, 0x0)
-syz_kvm_assert_syzos_uexit(r5, 0xffffffffffffffff)
+syz_kvm_assert_syzos_uexit$arm64(r5, 0xffffffffffffffff)
syz_kvm_assert_reg(r3, 0x603000000013c600, 0xfefefee0)
diff --git a/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-msr-emul-0 b/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-msr-emul-0
index 3f1164b71..e329712d0 100644
--- a/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-msr-emul-0
+++ b/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-msr-emul-0
@@ -26,7 +26,7 @@ r5 = mmap$KVM_VCPU(&(0x7f0000009000/0x1000)=nil, r4, 0x3, 0x1, r3, 0x0)
# Run till the end of guest_main(). 0xffffffffffffffff is UEXIT_END.
#
ioctl$KVM_RUN(r3, AUTO, 0x0)
-syz_kvm_assert_syzos_uexit(r5, 0xffffffffffffffff)
+syz_kvm_assert_syzos_uexit$arm64(r5, 0xffffffffffffffff)
syz_kvm_assert_reg(r3, 0x6030000000138010, 0x8000)
syz_kvm_assert_reg(r3, 0x6030000000138012, 0x8000)
syz_kvm_assert_reg(r3, 0x6030000000138004, 0x8000)
diff --git a/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-msr-emul-1 b/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-msr-emul-1
index f6625976d..adc2c0934 100644
--- a/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-msr-emul-1
+++ b/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-msr-emul-1
@@ -26,7 +26,7 @@ r5 = mmap$KVM_VCPU(&(0x7f0000009000/0x1000)=nil, r4, 0x3, 0x1, r3, 0x0)
# Run till the end of guest_main(). 0xffffffffffffffff is UEXIT_END.
#
ioctl$KVM_RUN(r3, AUTO, 0x0)
-syz_kvm_assert_syzos_uexit(r5, 0xffffffffffffffff)
+syz_kvm_assert_syzos_uexit$arm64(r5, 0xffffffffffffffff)
syz_kvm_assert_reg(r3, 0x6030000000138015, 0x8000)
syz_kvm_assert_reg(r3, 0x603000000013801d, 0x8000)
syz_kvm_assert_reg(r3, 0x6030000000138025, 0x8000)
diff --git a/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-msr-emul-2 b/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-msr-emul-2
index 8c9ee2de6..14836d6c7 100644
--- a/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-msr-emul-2
+++ b/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-msr-emul-2
@@ -26,7 +26,7 @@ r5 = mmap$KVM_VCPU(&(0x7f0000009000/0x1000)=nil, r4, 0x3, 0x1, r3, 0x0)
# Run till the end of guest_main(). 0xffffffffffffffff is UEXIT_END.
#
ioctl$KVM_RUN(r3, AUTO, 0x0)
-syz_kvm_assert_syzos_uexit(r5, 0xffffffffffffffff)
+syz_kvm_assert_syzos_uexit$arm64(r5, 0xffffffffffffffff)
syz_kvm_assert_reg(r3, 0x6030000000138017, 0x8000)
syz_kvm_assert_reg(r3, 0x603000000013801f, 0x8000)
syz_kvm_assert_reg(r3, 0x6030000000138084, 0x8000)
diff --git a/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-msr-emul-3 b/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-msr-emul-3
index 8e8389c0a..8c3e6db3b 100644
--- a/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-msr-emul-3
+++ b/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-msr-emul-3
@@ -26,7 +26,7 @@ r5 = mmap$KVM_VCPU(&(0x7f0000009000/0x1000)=nil, r4, 0x3, 0x1, r3, 0x0)
# Run till the end of guest_main(). 0xffffffffffffffff is UEXIT_END.
#
ioctl$KVM_RUN(r3, AUTO, 0x0)
-syz_kvm_assert_syzos_uexit(r5, 0xffffffffffffffff)
+syz_kvm_assert_syzos_uexit$arm64(r5, 0xffffffffffffffff)
syz_kvm_assert_reg(r3, 0x603000000013c520, 0x8000)
syz_kvm_assert_reg(r3, 0x603000000013c521, 0x8000)
syz_kvm_assert_reg(r3, 0x603000000013c522, 0x8000)
diff --git a/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-msr-emul-4 b/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-msr-emul-4
index c99054cf7..e206d3407 100644
--- a/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-msr-emul-4
+++ b/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-msr-emul-4
@@ -26,7 +26,7 @@ r5 = mmap$KVM_VCPU(&(0x7f0000009000/0x1000)=nil, r4, 0x3, 0x1, r3, 0x0)
# Run till the end of guest_main(). 0xffffffffffffffff is UEXIT_END.
#
ioctl$KVM_RUN(r3, AUTO, 0x0)
-syz_kvm_assert_syzos_uexit(r5, 0xffffffffffffffff)
+syz_kvm_assert_syzos_uexit$arm64(r5, 0xffffffffffffffff)
syz_kvm_assert_reg(r3, 0x603000000013c65e, 0x8000)
syz_kvm_assert_reg(r3, 0x603000000013c65f, 0x8000)
syz_kvm_assert_reg(r3, 0x603000000013c661, 0x8000)
diff --git a/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-smc b/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-smc
index 143d6d61c..bb91f426b 100644
--- a/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-smc
+++ b/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-smc
@@ -25,4 +25,4 @@ r5 = mmap$KVM_VCPU(&(0x7f0000009000/0x1000)=nil, r4, 0x3, 0x1, r3, 0x0)
# Run till the end of guest_main(). 0xffffffffffffffff is UEXIT_END.
#
ioctl$KVM_RUN(r3, AUTO, 0x0)
-syz_kvm_assert_syzos_uexit(r5, 0xffffffffffffffff)
+syz_kvm_assert_syzos_uexit$arm64(r5, 0xffffffffffffffff)
diff --git a/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-vgicv3 b/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-vgicv3
index 541aaed30..242e48475 100644
--- a/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-vgicv3
+++ b/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-vgicv3
@@ -12,7 +12,7 @@ r5 = mmap$KVM_VCPU(&(0x7f0000009000/0x1000)=nil, r4, 0x3, 0x1, r3, 0x0)
# Run till the end of guest_main(). 0xffffffffffffffff is UEXIT_END.
#
ioctl$KVM_RUN(r3, AUTO, 0x0)
-syz_kvm_assert_syzos_uexit(r5, 0xffffffffffffffff)
+syz_kvm_assert_syzos_uexit$arm64(r5, 0xffffffffffffffff)
#
# Calling KVM_RUN here again would result in infinite loop.
# Instead, signal SPI 32 (0x1000020), so that the guest can execute another uexit in the IRQ handler.
@@ -21,4 +21,4 @@ ioctl$KVM_IRQ_LINE(r1, AUTO, &AUTO={0x1000020, 0x1})
ioctl$KVM_RUN(r3, AUTO, 0x0)
# 0xfffffffffffffffe is UEXIT_IRQ.
#
-syz_kvm_assert_syzos_uexit(r5, 0xfffffffffffffffe)
+syz_kvm_assert_syzos_uexit$arm64(r5, 0xfffffffffffffffe)
diff --git a/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-vgicv3-cpu1 b/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-vgicv3-cpu1
index ff552c5b7..5ee849468 100644
--- a/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-vgicv3-cpu1
+++ b/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-vgicv3-cpu1
@@ -13,11 +13,11 @@ r6 = mmap$KVM_VCPU(&(0x7f0000009000/0x1000)=nil, r5, 0x3, 0x1, r3, 0x0)
r7 = mmap$KVM_VCPU(&(0x7f000000a000/0x1000)=nil, r5, 0x3, 0x1, r4, 0x0)
ioctl$KVM_RUN(r4, AUTO, 0x0)
-syz_kvm_assert_syzos_uexit(r7, 0xffffffffffffffff)
+syz_kvm_assert_syzos_uexit$arm64(r7, 0xffffffffffffffff)
#
# Calling KVM_RUN here again would result in infinite loop.
# Instead, signal SPI 32 on CPU 1 (0x1010020), so that the guest can execute another uexit in the IRQ handler.
#
ioctl$KVM_IRQ_LINE(r1, AUTO, &AUTO={0x1010020, 0x1})
ioctl$KVM_RUN(r3, AUTO, 0x0)
-syz_kvm_assert_syzos_uexit(r6, 0xfffffffffffffffe)
+syz_kvm_assert_syzos_uexit$arm64(r6, 0xfffffffffffffffe)
diff --git a/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-vgicv3-its b/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-vgicv3-its
index 6e642da75..a2570b6a0 100644
--- a/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-vgicv3-its
+++ b/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-vgicv3-its
@@ -27,7 +27,7 @@ r6 = mmap$KVM_VCPU(&(0x7f0000009000/0x1000)=nil, r5, 0x3, 0x1, r3, 0x0)
# Run till the end of guest_main(). 0xffffffffffffffff is UEXIT_END.
#
ioctl$KVM_RUN(r3, AUTO, 0x0)
-syz_kvm_assert_syzos_uexit(r6, 0xffffffffffffffff)
+syz_kvm_assert_syzos_uexit$arm64(r6, 0xffffffffffffffff)
#
# Calling KVM_RUN here again would result in infinite loop.
# Instead, signal LPI 0x2000 that is mapped to the event 0, so that the guest can execute another uexit in the IRQ handler.
@@ -36,4 +36,4 @@ syz_kvm_assert_syzos_uexit(r6, 0xffffffffffffffff)
#
ioctl$KVM_SIGNAL_MSI(r1, AUTO, &AUTO={0x8090040, 0x0, 0x0, 0x1, 0x0, ""})
ioctl$KVM_RUN(r3, AUTO, 0x0)
-syz_kvm_assert_syzos_uexit(r6, 0xfffffffffffffffe)
+syz_kvm_assert_syzos_uexit$arm64(r6, 0xfffffffffffffffe)
diff --git a/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-vgicv3-its-cmd b/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-vgicv3-its-cmd
index d78a013c4..a3eec318c 100644
--- a/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-vgicv3-its-cmd
+++ b/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-vgicv3-its-cmd
@@ -31,9 +31,9 @@ r6 = mmap$KVM_VCPU(&(0x7f0000009000/0x1000)=nil, r5, 0x3, 0x1, r3, 0x0)
# This KVM_RUN will stop after receiving the LPI.
#
ioctl$KVM_RUN(r3, AUTO, 0x0)
-syz_kvm_assert_syzos_uexit(r6, 0xfffffffffffffffe)
+syz_kvm_assert_syzos_uexit$arm64(r6, 0xfffffffffffffffe)
#
# This KVM_RUN will stop after finishing the user program.
#
ioctl$KVM_RUN(r3, AUTO, 0x0)
-syz_kvm_assert_syzos_uexit(r6, 0xffffffffffffffff)
+syz_kvm_assert_syzos_uexit$arm64(r6, 0xffffffffffffffff)
diff --git a/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-vgicv3-unroll b/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-vgicv3-unroll
index 761974c7d..0110d0f1a 100644
--- a/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-vgicv3-unroll
+++ b/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-vgicv3-unroll
@@ -20,11 +20,11 @@ r5 = ioctl$KVM_GET_VCPU_MMAP_SIZE(r0, AUTO)
r6 = mmap$KVM_VCPU(&(0x7f0000009000/0x1000)=nil, r5, 0x3, 0x1, r3, 0x0)
ioctl$KVM_RUN(r3, AUTO, 0x0)
-syz_kvm_assert_syzos_uexit(r6, 0xffffffffffffffff)
+syz_kvm_assert_syzos_uexit$arm64(r6, 0xffffffffffffffff)
#
# Calling KVM_RUN here again would result in infinite loop.
# Instead, signal SPI 32 (0x1000020), so that the guest can execute another uexit in the IRQ handler.
#
ioctl$KVM_IRQ_LINE(r1, AUTO, &AUTO={0x1000020, 0x1})
ioctl$KVM_RUN(r3, AUTO, 0x0)
-syz_kvm_assert_syzos_uexit(r6, 0xfffffffffffffffe)
+syz_kvm_assert_syzos_uexit$arm64(r6, 0xfffffffffffffffe)
diff --git a/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-wfe b/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-wfe
index 0c74580b5..9f8a17d1c 100644
--- a/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-wfe
+++ b/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-wfe
@@ -14,4 +14,4 @@ r5 = mmap$KVM_VCPU(&(0x7f0000009000/0x1000)=nil, r4, 0x3, 0x1, r3, 0x0)
# Run till the first uexit.
#
ioctl$KVM_RUN(r3, AUTO, 0x0)
-syz_kvm_assert_syzos_uexit(r5, 0x0)
+syz_kvm_assert_syzos_uexit$arm64(r5, 0x0)
diff --git a/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-wfet b/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-wfet
index 3e5850890..6c99a486c 100644
--- a/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-wfet
+++ b/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-wfet
@@ -14,12 +14,12 @@ r5 = mmap$KVM_VCPU(&(0x7f0000009000/0x1000)=nil, r4, 0x3, 0x1, r3, 0x0)
# Run till the first uexit.
#
ioctl$KVM_RUN(r3, AUTO, 0x0)
-syz_kvm_assert_syzos_uexit(r5, 0x0)
+syz_kvm_assert_syzos_uexit$arm64(r5, 0x0)
# Run till the second uexit.
#
ioctl$KVM_RUN(r3, AUTO, 0x0)
-syz_kvm_assert_syzos_uexit(r5, 0xaaaa)
+syz_kvm_assert_syzos_uexit$arm64(r5, 0xaaaa)
# Run till the end of guest_main(). 0xffffffffffffffff is UEXIT_END.
#
ioctl$KVM_RUN(r3, AUTO, 0x0)
-syz_kvm_assert_syzos_uexit(r5, 0xffffffffffffffff)
+syz_kvm_assert_syzos_uexit$arm64(r5, 0xffffffffffffffff)
diff --git a/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-wfi b/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-wfi
index 802783b4e..229a83e4e 100644
--- a/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-wfi
+++ b/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-wfi
@@ -14,4 +14,4 @@ r5 = mmap$KVM_VCPU(&(0x7f0000009000/0x1000)=nil, r4, 0x3, 0x1, r3, 0x0)
# Run till the first uexit.
#
ioctl$KVM_RUN(r3, AUTO, 0x0)
-syz_kvm_assert_syzos_uexit(r5, 0x0)
+syz_kvm_assert_syzos_uexit$arm64(r5, 0x0)
diff --git a/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-wfit b/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-wfit
index 36bcb4bdf..ffff97c46 100644
--- a/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-wfit
+++ b/sys/linux/test/arm64-syz_kvm_setup_syzos_vm-wfit
@@ -14,12 +14,12 @@ r5 = mmap$KVM_VCPU(&(0x7f0000009000/0x1000)=nil, r4, 0x3, 0x1, r3, 0x0)
# Run till the first uexit.
#
ioctl$KVM_RUN(r3, AUTO, 0x0)
-syz_kvm_assert_syzos_uexit(r5, 0x0)
+syz_kvm_assert_syzos_uexit$arm64(r5, 0x0)
# Run till the second uexit.
#
ioctl$KVM_RUN(r3, AUTO, 0x0)
-syz_kvm_assert_syzos_uexit(r5, 0xaaaa)
+syz_kvm_assert_syzos_uexit$arm64(r5, 0xaaaa)
# Run till the end of guest_main(). 0xffffffffffffffff is UEXIT_END.
#
ioctl$KVM_RUN(r3, AUTO, 0x0)
-syz_kvm_assert_syzos_uexit(r5, 0xffffffffffffffff)
+syz_kvm_assert_syzos_uexit$arm64(r5, 0xffffffffffffffff)