// https://syzkaller.appspot.com/bug?id=316ecfd071c79a4654861c1cf6a93d4ac0693de0 // autogenerated by syzkaller (http://github.com/google/syzkaller) #define _GNU_SOURCE #include #include #include #include #include #ifndef __NR_mmap #define __NR_mmap 192 #endif #ifndef __NR_socket #define __NR_socket 359 #endif #ifndef __NR_listen #define __NR_listen 363 #endif #ifndef __NR_shutdown #define __NR_shutdown 373 #endif #ifndef __NR_getsockname #define __NR_getsockname 367 #endif #undef __NR_mmap #define __NR_mmap __NR_mmap2 uint64_t r[1] = {0xffffffffffffffff}; void loop() { long res = 0; res = syscall(__NR_socket, 0x2b, 1, 0); if (res != -1) r[0] = res; syscall(__NR_listen, r[0], 0); syscall(__NR_shutdown, r[0], 0); *(uint32_t*)0x20000080 = 0x80; syscall(__NR_getsockname, r[0], 0x20000000, 0x20000080); } int main() { syscall(__NR_mmap, 0x20000000, 0x1000000, 3, 0x32, -1, 0); loop(); return 0; }