// 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*)0x200001c0, "./bus\000", 6); syscall(SYS_mknod, 0x200001c0ul, 0x2000ul, 0x4086334); /* major = 99, minor = 264244 */ *(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*)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); memcpy( (void*)0x20000200, "\xf8\x87\x5b\xe0\x66\x5c\x4f\x58\x53\xc0\xe2\xa1\xcd\x4c\x9b\x73\x32\x5d" "\x43\x6f\xf6\xea\x91\x3d\x68\x83\xcd\xf3\x76\x51\x14\xa9\xad\xa6\x0b\x36" "\x2f\xec\xdc\xec\xe3\x54\x40\xb2\x48\x1d\xfb\x42\xf0\x0d\x64\x05\x53\x7c" "\xed\xf4\xab\x09\x0b\x02\xf0\x79\x5a\x47\x1d\x88\x0d\x9e\x40\x15\xd0\xf7" "\x5f\x1e\x8c\x6d\x6c\x03\x2a\x09\x07\x3b\xc7\x07\x89\xe0\x3e\x1e\x67\x9c" "\x70\xe2\xe1\xa0\x4d\x5e\x65\xd4\x61\xf2\x5a\x19\x3f\x30\xf8\xbf\x87\x20" "\x7e\xee\x94\xee\x6e\xfe\xf8\x84\x34\xe9\x49\xeb\x64\x27\x63\x93\x84\xb8" "\x2a\x13\x1a\xc5\x22\xe2\x5b\xdf\x7c\xd1\x00\x13\x7b\x67\xc2\x54\x7e\x0f" "\xe2\x4f\x79\xcf\xd3\x97\xb0\xec\xd0\x41\x23\x2d\xc3\x53\xa6\x7e\x29\x77" "\x55\x60\xcb\x07\x2d\x86\x48\xff\x62\x55\x6e\xc3\x41\x67\x6f\x02\x86\xfc" "\x58\xb0\x68\x6d\xe6\xf9\x92\xf4\x05\x4b\xa1\x53\xb1\x1d\x40\x75\xec\xc2" "\xc5\x54\xc9\x6d\x04\x0e\x72", 205); syscall(SYS_pwrite, r[0], 0x20000200ul, 0xcdul, 0x800ul); memcpy((void*)0x20000040, "\x34\xcf\x36\x2b\x3c\xe9\xc9\x3d\x7f", 9); syscall(SYS_write, -1, 0x20000040ul, 9ul); *(uint32_t*)0x20000040 = 1; syscall(SYS_ioctl, r[0], 0x82907003ul, 0x20000040ul); return 0; }