// https://syzkaller.appspot.com/bug?id=8f063539d4ecf1faf3132624b57a641e923ee25a // autogenerated by syzkaller (https://github.com/google/syzkaller) #define _GNU_SOURCE #include #include #include #include #include #include #include #include #ifndef __NR_bpf #define __NR_bpf 321 #endif uint64_t r[3] = {0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff}; int main(void) { syscall(__NR_mmap, 0x20000000, 0x1000000, 3, 0x32, -1, 0); long res = 0; memcpy((void*)0x20fafff7, "/dev/kvm", 9); res = syscall(__NR_openat, 0xffffffffffffff9c, 0x20fafff7, 0, 0); if (res != -1) r[0] = res; res = syscall(__NR_ioctl, r[0], 0xae01, 0); if (res != -1) r[1] = res; res = syscall(__NR_ioctl, r[1], 0xae41, 0); if (res != -1) r[2] = res; syscall(__NR_ioctl, -1, 0x4008ae89, 0x20000040); *(uint32_t*)0x20000100 = 1; *(uint32_t*)0x20000104 = 0; *(uint32_t*)0x20000108 = 0x9e; *(uint32_t*)0x2000010c = 0; *(uint64_t*)0x20000110 = 0; syscall(__NR_ioctl, r[2], 0xc080aebe, 0x20000100); *(uint32_t*)0x20000340 = 0; *(uint32_t*)0x20000344 = 0; *(uint64_t*)0x20000348 = 0x209ff000; *(uint64_t*)0x20000350 = 0x202bf000; memcpy((void*)0x202bf000, "syzkaller", 10); *(uint32_t*)0x20000358 = 1; *(uint32_t*)0x2000035c = 0xb7; *(uint64_t*)0x20000360 = 0x20000440; *(uint32_t*)0x20000368 = 0; *(uint32_t*)0x2000036c = 0; *(uint8_t*)0x20000370 = 0; *(uint8_t*)0x20000371 = 0; *(uint8_t*)0x20000372 = 0; *(uint8_t*)0x20000373 = 0; *(uint8_t*)0x20000374 = 0; *(uint8_t*)0x20000375 = 0; *(uint8_t*)0x20000376 = 0; *(uint8_t*)0x20000377 = 0; *(uint8_t*)0x20000378 = 0; *(uint8_t*)0x20000379 = 0; *(uint8_t*)0x2000037a = 0; *(uint8_t*)0x2000037b = 0; *(uint8_t*)0x2000037c = 0; *(uint8_t*)0x2000037d = 0; *(uint8_t*)0x2000037e = 0; *(uint8_t*)0x2000037f = 0; *(uint32_t*)0x20000380 = 0; *(uint32_t*)0x20000384 = 0; syscall(__NR_bpf, 5, 0x20000340, 0x48); syscall(__NR_ioctl, -1, 0x541b, 0x20000100); return 0; }