// https://syzkaller.appspot.com/bug?id=d9e4607011f2713da7a85159b026750c09718c5a // autogenerated by syzkaller (http://github.com/google/syzkaller) #define _GNU_SOURCE #include #include #include #include #include uint64_t r[2] = {0xffffffffffffffff, 0xffffffffffffffff}; void loop() { long res; memcpy((void*)0x20000180, "/dev/infiniband/rdma_cm", 24); res = syscall(__NR_openat, 0xffffffffffffff9c, 0x20000180, 2, 0); if (res != -1) r[0] = res; *(uint32_t*)0x20000300 = 0; *(uint16_t*)0x20000304 = 0x18; *(uint16_t*)0x20000306 = 0xfa00; *(uint64_t*)0x20000308 = 0; *(uint64_t*)0x20000310 = 0x200002c0; *(uint16_t*)0x20000318 = 2; *(uint8_t*)0x2000031a = 0; *(uint8_t*)0x2000031b = 0; *(uint8_t*)0x2000031c = 0; *(uint8_t*)0x2000031d = 0; *(uint8_t*)0x2000031e = 0; *(uint8_t*)0x2000031f = 0; res = syscall(__NR_write, r[0], 0x20000300, 0x20); if (res != -1) r[1] = *(uint32_t*)0x200002c0; memcpy((void*)0x20000080, "\x02\x00\x00\x00\x88\x00\x00\xfa", 8); *(uint32_t*)0x20000088 = r[1]; memcpy((void*)0x2000008c, "\x30\x00\x00\x00\x1b\x00\x00\x00\x00\x00\x00\x00\xb7\x28\x22\x77\x58" "\x10\x88\xe0\x29\x06\x1a\x8d\x63\xf6\x9d\xd2\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", 132); syscall(__NR_write, r[0], 0x20000080, 0x90); } int main() { syscall(__NR_mmap, 0x20000000, 0x1000000, 3, 0x32, -1, 0); loop(); return 0; }