aboutsummaryrefslogtreecommitdiffstats
path: root/sys/linux
diff options
context:
space:
mode:
authorAlexander Potapenko <glider@google.com>2024-12-02 16:17:37 +0100
committerAlexander Potapenko <glider@google.com>2024-12-06 09:15:15 +0000
commit11c5b3f0f131cdc1fa7048ae6bdf0d0e7c6d4d12 (patch)
treead8760b00f88fe11299a4a450d1d9f37ce13edc9 /sys/linux
parentf27bd1597f7c5bd0229c82af1e61bd1b007c8238 (diff)
sys/linux/test: add seeds for known KVM bugs
Diffstat (limited to 'sys/linux')
-rw-r--r--sys/linux/test/arm64-kvm-bug3639757849
-rw-r--r--sys/linux/test/arm64-kvm-bug3644952609
-rw-r--r--sys/linux/test/arm64-kvm-bug36718682716
-rw-r--r--sys/linux/test/arm64-kvm-bug37097705624
-rw-r--r--sys/linux/test/arm64-kvm-bug37263502410
-rw-r--r--sys/linux/test/arm64-kvm-bug37485472315
-rw-r--r--sys/linux/test/arm64-kvm-bug37747325412
-rw-r--r--sys/linux/test/arm64-kvm-bug37925110211
-rw-r--r--sys/linux/test/arm64-kvm-bug38146293713
9 files changed, 119 insertions, 0 deletions
diff --git a/sys/linux/test/arm64-kvm-bug363975784 b/sys/linux/test/arm64-kvm-bug363975784
new file mode 100644
index 000000000..b52993432
--- /dev/null
+++ b/sys/linux/test/arm64-kvm-bug363975784
@@ -0,0 +1,9 @@
+#
+# requires: arch=arm64 manual
+#
+r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000080), 0x0, 0x0)
+r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0)
+ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x1)
+ioctl$KVM_CREATE_DEVICE(r1, 0xc00caee0, &(0x7f0000000040)={0x7, <r2=>0xffffffffffffffff, 0x0})
+ioctl$KVM_SET_DEVICE_ATTR(r2, 0x4018aee1, &(0x7f0000000280)=@attr_arm64={0x0, 0x0, 0x3, 0x0})
+ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x1) (async)
diff --git a/sys/linux/test/arm64-kvm-bug364495260 b/sys/linux/test/arm64-kvm-bug364495260
new file mode 100644
index 000000000..bbe61fbae
--- /dev/null
+++ b/sys/linux/test/arm64-kvm-bug364495260
@@ -0,0 +1,9 @@
+#
+# requires: arch=arm64 manual
+#
+r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000180), 0x0, 0x0)
+r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0)
+r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0)
+openat$kvm(0xffffffffffffff9c, 0x0, 0x0, 0x0)
+ioctl$KVM_ARM_VCPU_INIT(r2, 0x4020aeae, &(0x7f0000000140)={0x5, 0x8, ""}) (async, rerun: 32)
+ioctl$KVM_RUN(r2, 0xae80, 0x0)
diff --git a/sys/linux/test/arm64-kvm-bug367186827 b/sys/linux/test/arm64-kvm-bug367186827
new file mode 100644
index 000000000..3fd9344d5
--- /dev/null
+++ b/sys/linux/test/arm64-kvm-bug367186827
@@ -0,0 +1,16 @@
+#
+# requires: arch=arm64 manual
+#
+r0 = openat$kvm(0x0, &(0x7f0000000040), 0x0, 0x0) (async)
+r1 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000100), 0x0, 0x0)
+r2 = ioctl$KVM_CREATE_VM(r1, 0xae01, 0x0)
+ioctl$KVM_CREATE_DEVICE(r2, 0xc00caee0, &(0x7f0000000700)={0x7, 0x0, 0x0}) (async)
+ioctl$KVM_CREATE_VCPU(r2, 0xae41, 0x2)
+ioctl$KVM_IRQ_LINE(r2, 0x4008ae61, &(0x7f0000000240)={0x200002f, 0x0}) (async)
+r3 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0)
+r4 = syz_kvm_setup_syzos_vm(r3, &(0x7f0000c00000/0x400000)=nil)
+r5 = syz_kvm_add_vcpu(r4, &(0x7f0000000080)={0x0, &(0x7f0000000000)=ANY=[@ANYBLOB="054c0f0000000060b47892001800000000003b67ed394d2d53cb"], 0x18}, 0x0, 0x0) (async, rerun: 64)
+syz_kvm_vgic_v3_setup(r3, 0x1, 0x100)
+ioctl$KVM_RUN(r5, 0xae80, 0x0) (async)
+ioctl$KVM_IRQ_LINE(r3, 0x4008ae61, &(0x7f0000000100)={0x1000020, 0x1}) (async, rerun: 32)
+ioctl$KVM_RUN(r5, 0xae80, 0x0) (rerun: 32)
diff --git a/sys/linux/test/arm64-kvm-bug370977056 b/sys/linux/test/arm64-kvm-bug370977056
new file mode 100644
index 000000000..769f00b0a
--- /dev/null
+++ b/sys/linux/test/arm64-kvm-bug370977056
@@ -0,0 +1,24 @@
+#
+# requires: arch=arm64 manual
+#
+r0 = openat$kvm(0x0, &(0x7f0000000040), 0x0, 0x0) (async)
+ioctl$KVM_IRQFD(0xffffffffffffffff, 0x4020ae76, &(0x7f0000000140)={0xffffffffffffffff, 0xc8, 0x0, 0x0, ""}) (async)
+r1 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000080), 0x0, 0x0)
+r2 = ioctl$KVM_CREATE_VM(r1, 0xae01, 0x0)
+ioctl$KVM_CREATE_DEVICE(r2, 0xc00caee0, &(0x7f0000000140)={0x4, <r3=>0xffffffffffffffff, 0x1})
+r4 = ioctl$KVM_CREATE_VM(r3, 0x894c, 0x0)
+r5 = openat$kvm(0x0, &(0x7f0000000040), 0x0, 0x0)
+r6 = ioctl$KVM_CREATE_VM(r5, 0xae01, 0x0)
+r7 = ioctl$KVM_CREATE_VCPU(r6, 0xae41, 0x1)
+ioctl$KVM_ARM_VCPU_INIT(r7, 0x4020aeae, &(0x7f0000000080)={0x5, 0x1, ""}) (async)
+ioctl$KVM_SET_ONE_REG(r7, 0x4010aeac, &(0x7f00000001c0)=@arm64_sys={0x6030000000138064, &(0x7f00000000c0)=0x8000})
+ioctl$KVM_CREATE_VCPU(r4, 0xb702, 0x0) (async)
+openat$kvm(0x0, &(0x7f0000000080), 0x141001, 0x0)
+ioctl$KVM_IOEVENTFD(0xffffffffffffffff, 0x4040ae79, &(0x7f0000000100))
+r8 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0)
+r9 = syz_kvm_setup_syzos_vm(r8, &(0x7f0000c00000/0x400000)=nil)
+r10 = syz_kvm_add_vcpu(r9, &(0x7f0000000080)={0x0, &(0x7f00000000c0)=[@irq_setup={0x5, 0x18, {0x1, 0x20}}], 0x18}, 0x0, 0x0) (async)
+r11 = syz_kvm_add_vcpu(r9, &(0x7f0000000100)={0x0, &(0x7f00000001c0)=ANY=[@ANYBLOB="050000"], 0x18}, 0x0, 0x0)
+syz_kvm_vgic_v3_setup(r8, 0x2, 0x100) (async)
+ioctl$KVM_RUN(r11, 0xae80, 0x0) (async)
+ioctl$KVM_RUN(r10, 0xae80, 0x0)
diff --git a/sys/linux/test/arm64-kvm-bug372635024 b/sys/linux/test/arm64-kvm-bug372635024
new file mode 100644
index 000000000..efe3bce03
--- /dev/null
+++ b/sys/linux/test/arm64-kvm-bug372635024
@@ -0,0 +1,10 @@
+#
+# requires: arch=arm64 manual
+#
+r0 = openat$kvm(0x0, &(0x7f0000000040), 0x0, 0x0)
+r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0)
+r2 = syz_kvm_setup_syzos_vm(r1, &(0x7f0000c00000/0x400000)=nil)
+r3 = syz_kvm_add_vcpu(r2, &(0x7f0000000080)={0x0, &(0x7f0000000240)=ANY=[@ANYBLOB="05000000000000001800000000000000010000005002"], 0x18}, 0x0, 0x0)
+ioctl$KVM_RUN(r3, 0xae80, 0x0)
+ioctl$KVM_SET_VCPU_EVENTS(r3, 0x4040aea0, &(0x7f0000000000)=@arm64={0x0, 0x1, 0xf, '\x00', 0xfffffffffffff105, ""})
+ioctl$KVM_RUN(r3, 0xae80, 0x0)
diff --git a/sys/linux/test/arm64-kvm-bug374854723 b/sys/linux/test/arm64-kvm-bug374854723
new file mode 100644
index 000000000..28c73d042
--- /dev/null
+++ b/sys/linux/test/arm64-kvm-bug374854723
@@ -0,0 +1,15 @@
+#
+# requires: arch=arm64 manual
+#
+r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000080), 0x0, 0x0)
+r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0)
+ioctl$KVM_CREATE_VM(0xffffffffffffffff, 0xae01, 0x0)
+r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0)
+ioctl$KVM_ARM_VCPU_INIT(r2, 0x4020aeae, &(0x7f0000000340)={0x5, 0x8, ""})
+ioctl$KVM_RUN(r2, 0xae80, 0x0)
+mmap$KVM_VCPU(&(0x7f0000ff5000/0x3000)=nil, 0x930, 0x100000f, 0x24132, 0xffffffffffffffff, 0x0)
+ioctl$KVM_ARM_VCPU_INIT(r2, 0x4020aeae, &(0x7f0000000340)={0x5, 0x8, ""})
+ioctl$KVM_CREATE_VM(0xffffffffffffffff, 0xae01, 0x0)
+mmap$KVM_VCPU(&(0x7f0000ff5000/0x3000)=nil, 0x930, 0x100000f, 0x24132, 0xffffffffffffffff, 0x0)
+ioctl$KVM_ARM_VCPU_INIT(0xffffffffffffffff, 0x4020aeae, 0x0)
+ioctl$KVM_SET_ONE_REG(0xffffffffffffffff, 0x4010aeac, 0x0)
diff --git a/sys/linux/test/arm64-kvm-bug377473254 b/sys/linux/test/arm64-kvm-bug377473254
new file mode 100644
index 000000000..26daa6df1
--- /dev/null
+++ b/sys/linux/test/arm64-kvm-bug377473254
@@ -0,0 +1,12 @@
+#
+# requires: arch=arm64 manual
+#
+r0 = openat$kvm(0x0, &(0x7f0000000040), 0x0, 0x0)
+r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0)
+r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x3)
+openat$kvm(0x0, 0x0, 0x0, 0x0)
+ioctl$KVM_ARM_VCPU_INIT(r2, 0x4020aeae, &(0x7f0000000000)={0x5, 0x18, ""})
+ioctl$KVM_ARM_VCPU_FINALIZE(r2, 0x4004aec2, &(0x7f0000000180)=0x4)
+ioctl$KVM_RUN(r2, 0xae80, 0x0)
+ioctl$KVM_ARM_VCPU_INIT(r2, 0x4020aeae, &(0x7f0000000000)={0x5, 0x18, ""}) (async)
+syz_kvm_vgic_v3_setup(r1, 0x3, 0x180)
diff --git a/sys/linux/test/arm64-kvm-bug379251102 b/sys/linux/test/arm64-kvm-bug379251102
new file mode 100644
index 000000000..dcfa9b005
--- /dev/null
+++ b/sys/linux/test/arm64-kvm-bug379251102
@@ -0,0 +1,11 @@
+#
+# requires: arch=arm64 manual
+#
+r0 = openat$kvm(0x0, &(0x7f0000000080), 0x2000, 0x0)
+r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0)
+r2 = syz_kvm_setup_syzos_vm(r1, &(0x7f0000c00000/0x400000)=nil)
+r3 = syz_kvm_add_vcpu(r2, &(0x7f00000000c0)={0x0, &(0x7f0000000240)=[@its_setup={0x7, 0x28, {0x0, 0x1, 0x17}}, @memwrite={0x6, 0x30, @vgic_gicr={0x80a0000, 0xa0, 0x1, 0xb}}], AUTO}, 0x0, 0x0)
+syz_kvm_vgic_v3_setup(r1, 0x1, 0x100)
+ioctl$KVM_CREATE_DEVICE(r1, 0xc00caee0, &(0x7f0000000180)={0x8, <r4=>0xffffffffffffffff, 0x0})
+ioctl$KVM_SET_DEVICE_ATTR(r4, 0x4018aee1, &(0x7f00000001c0)=@attr_arm64={0x0, 0x0, 0x4, &(0x7f0000000200)=0x8080000})
+ioctl$KVM_RUN(r3, 0xae80, 0x0)
diff --git a/sys/linux/test/arm64-kvm-bug381462937 b/sys/linux/test/arm64-kvm-bug381462937
new file mode 100644
index 000000000..2f4a27753
--- /dev/null
+++ b/sys/linux/test/arm64-kvm-bug381462937
@@ -0,0 +1,13 @@
+#
+# requires: arch=arm64 manual
+#
+r0 = openat$kvm(0x0, &(0x7f0000000040), 0x0, 0x0)
+r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0)
+r2 = syz_kvm_setup_syzos_vm(r1, &(0x7f0000c00000/0x400000)=nil)
+r3 = syz_kvm_add_vcpu(r2, &(0x7f0000000080)={0x0, &(0x7f00000000c0)=[@its_setup={0x7, 0x28, {0x2, 0x2, 0x1}}], 0x28}, 0x0, 0x0)
+syz_kvm_vgic_v3_setup(r1, 0x3, 0xa0)
+ioctl$KVM_CREATE_DEVICE(r1, 0xc00caee0, &(0x7f0000000100)={0x8, <r4=>0xffffffffffffffff, 0x0})
+ioctl$KVM_SET_DEVICE_ATTR(r4, 0x4018aee1, &(0x7f0000000000)=@attr_arm64={0x0, 0x0, 0x4, &(0x7f0000000180)=0x8080000})
+ioctl$KVM_RUN(r3, 0xae80, 0x0)
+ioctl$KVM_SET_DEVICE_ATTR(r4, 0x4018aee1, &(0x7f0000000300)=@attr_arm64={0x0, 0x4, 0x1, 0x0}) (async, rerun: 64)
+ioctl$KVM_SET_DEVICE_ATTR(r4, 0x4018aee1, &(0x7f00000000c0)=@attr_arm64={0x0, 0x4, 0x2, 0x0})