// https://syzkaller.appspot.com/bug?id=c7ac769bd7ee15549b8a2be188bcee07d98a5357 // autogenerated by syzkaller (https://github.com/google/syzkaller) #define _GNU_SOURCE #include #include #include #include #include #include #include #include #include #include #define __syscall syscall uint64_t r[1] = {0xffffffffffffffff}; int main(void) { syscall(SYS_mmap, 0x20000000ul, 0x1000000ul, 3ul, 0x1012ul, -1, 0ul); intptr_t res = 0; memcpy((void*)0x20000140, "./bus\000", 6); syscall(SYS_mknod, 0x20000140ul, 0x2000ul, 0x4086337); /* major = 99, minor = 264247 */ *(uint32_t*)0x200000c0 = 6; *(uint64_t*)0x200000c8 = 0x20000080; *(uint16_t*)0x20000080 = 0; *(uint8_t*)0x20000082 = 0; *(uint8_t*)0x20000083 = 0; *(uint32_t*)0x20000084 = 0; *(uint16_t*)0x20000088 = 0; *(uint8_t*)0x2000008a = 0; *(uint8_t*)0x2000008b = 0; *(uint32_t*)0x2000008c = 0; *(uint16_t*)0x20000090 = 0; *(uint8_t*)0x20000092 = 0; *(uint8_t*)0x20000093 = 0; *(uint32_t*)0x20000094 = 0; *(uint16_t*)0x20000098 = 0; *(uint8_t*)0x2000009a = 0; *(uint8_t*)0x2000009b = 0; *(uint32_t*)0x2000009c = 0; *(uint16_t*)0x200000a0 = 0; *(uint8_t*)0x200000a2 = 0; *(uint8_t*)0x200000a3 = 0; *(uint32_t*)0x200000a4 = 0; *(uint16_t*)0x200000a8 = 0x210; *(uint8_t*)0x200000aa = 0; *(uint8_t*)0x200000ab = 0; *(uint32_t*)0x200000ac = 0; syscall(SYS_ioctl, -1, 0x80104277ul, 0x200000c0ul); memcpy((void*)0x20000000, "./bus\000", 6); res = syscall(SYS_open, 0x20000000ul, 0ul, 0ul); if (res != -1) r[0] = res; *(uint64_t*)0x20000500 = 0; *(uint32_t*)0x20000508 = 0; *(uint64_t*)0x20000510 = 0x200003c0; *(uint64_t*)0x200003c0 = 0x20000280; memcpy((void*)0x20000280, "\xc6\xd3\x7c\x43\x4c\xd1\x6b\x0e\x1c\x55\x6a\xf4\x64\x02\x82\x36\xeb" "\x9e\x71\xfe\x4b\x52\xe2\xf7\x7f\xaa\x67\x55\x09\x24\xfc\x32\x0b\x25" "\xfa\x24\xc1\xe0\xb0\x38\x53\x32\xb8\xe3\x48\xb6\x0a\xc2\xd6\x43\x70" "\x0e\xc7\x4f\xa0\x4f\x1f\x7a\x99\x1c\x10\x96\x1a", 63); *(uint64_t*)0x200003c8 = 0x3f; *(uint64_t*)0x20000518 = 1; *(uint64_t*)0x20000520 = 0; *(uint64_t*)0x20000528 = 0xa0; *(uint32_t*)0x20000530 = 0; syscall(SYS_sendmsg, -1, 0x20000500ul, 0ul); memcpy((void*)0x20000040, "\xeb\xff\xcb\xff\x13\xb9\xfd\x81\x2e\xaa\x4e\x71\x30\x48\xe6\x99\x31" "\x92\x96\x48", 20); syscall(SYS_setsockopt, -1, 0x29, 0x2e, 0x20000040ul, 0x14ul); *(uint64_t*)0x20000180 = 0; *(uint32_t*)0x20000188 = 0; *(uint64_t*)0x20000190 = 0; *(uint64_t*)0x20000198 = 0; *(uint64_t*)0x200001a0 = 0; *(uint64_t*)0x200001a8 = 0x210; *(uint32_t*)0x200001b0 = 0; syscall(SYS_sendmsg, -1, 0x20000180ul, 0ul); *(uint32_t*)0x20000040 = 2; syscall(SYS_ioctl, r[0], 0x82907003ul, 0x20000040ul); return 0; }