// 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, "\xff\x5d\xb1\x3c\xd4\xc2\xf9\xcb\xe2\xf6\x5b\xb0\x07\x71\xc0\x5f\xdb\x06" "\x18\x7b\xda\x85\xbe\x34\x08\x08\x58\xb3\x45\x66\x73\xbf\xfb\x95\x98\x05" "\x78\x27\x0b\x1d\x0c\x96\x1a\xa4\xf0\xdc\xbb\x88\x93\xca\x69\xd5\xcc\x57" "\xfc\xca\xb9\xb9\xba\x81\x37\xe2\x44\x27\x6d\x11\xcf\x78\xac\xaf\xab\x15" "\xcb\x0d\x8a\xe6\x52\x22\x3e\x3a\xc6\x38\x86\xdc\xdd\x98\xf0\x45\x0c\x5e" "\x50\x50\xee\x95\x28\xd2\x4a\xbb\x6d\x3e\xfe\x1d\xf8\x44\x36\x9c\x3c\x1e" "\x61\x54\xa6\xbd\x82\x43\x88\x78\x88\x44\xf4\x61\x9a\xc3\x71\xbd\xeb\xbd" "\x6e\x80\xf0\x81\x30\x3e\x71\xf9\x46\x8e\x85\x7c\x7d\x79\x15\xa7\xc2\xa7" "\x3f\x1e\xa0\x37\x6c\x50\xd8\x80\xfd\x52\x44\x41\xc6\x26\xad\x3b\xd9\x97" "\x2c\x10\xcb\x01\x08\x81\x96\x6a\x15\x56\x71\xe4\xd4\xc5\xae\x36\xff\x64" "\x5b\x10\x43\x80\x62\xb5\x63\x3b\xee\xb9\x87\x4d\x9e\xd3\xb7\xf3\x47\x09" "\xcb\x99\x58\xcc\xe0\x29\xb7\x59\x7d\x35\x18\xcb\xe0\xd9\x83\xde\xfa\x37" "\x69\xe3\x07\x3d\x1e\x2e\x2a\x9c\xef\x93\x1d\x34\xc9\xa8\x0a\x32\x73\x9e" "\x49\xe9\x04\x48\x0b\xba\x4f\xfa\xc3", 243); syscall(SYS_pwrite, r[0], 0x20000200ul, 0xf3ul, 0x1000ul); 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; }