// https://syzkaller.appspot.com/bug?id=1b1bd1b31a9f21b879865fb897133769e2de8a33 // autogenerated by syzkaller (https://github.com/google/syzkaller) #define _GNU_SOURCE #include #include #include #include #include #include #include #include #ifndef __NR_mmap #define __NR_mmap 192 #endif #ifndef __NR_setsockopt #define __NR_setsockopt 366 #endif #ifndef __NR_socket #define __NR_socket 359 #endif #undef __NR_mmap #define __NR_mmap __NR_mmap2 uint64_t r[1] = {0xffffffffffffffff}; int main(void) { syscall(__NR_mmap, 0x20000000, 0x1000000, 3, 0x32, -1, 0); long res = 0; res = syscall(__NR_socket, 0x11, 3, 0x300); if (res != -1) r[0] = res; *(uint32_t*)0x20000000 = 2; syscall(__NR_setsockopt, (long)r[0], 0x107, 0xa, 0x20000000, 4); *(uint32_t*)0x200000c0 = 0x10000; *(uint32_t*)0x200000c4 = 1; *(uint32_t*)0x200000c8 = 0x10000; *(uint32_t*)0x200000cc = 1; *(uint32_t*)0x200000d0 = 0; *(uint32_t*)0x200000d4 = 0; *(uint32_t*)0x200000d8 = 0; syscall(__NR_setsockopt, (long)r[0], 0x107, 0xd, 0x200000c0, 0x1c); return 0; }