// autogenerated by syzkaller (http://github.com/google/syzkaller) #ifndef __NR_mmap #define __NR_mmap 9 #endif #ifndef __NR_socket #define __NR_socket 41 #endif #ifndef __NR_ioctl #define __NR_ioctl 16 #endif #define _GNU_SOURCE #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include static uintptr_t execute_syscall(int nr, uintptr_t a0, uintptr_t a1, uintptr_t a2, uintptr_t a3, uintptr_t a4, uintptr_t a5, uintptr_t a6, uintptr_t a7, uintptr_t a8) { switch (nr) { default: return syscall(nr, a0, a1, a2, a3, a4, a5); } } long r[5]; void main() { memset(r, -1, sizeof(r)); r[0] = execute_syscall(__NR_mmap, 0x20000000ul, 0xffb000ul, 0x3ul, 0x32ul, 0xfffffffffffffffful, 0x0ul, 0, 0, 0); r[1] = execute_syscall(__NR_socket, 0x2ul, 0x1ul, 0x0ul, 0, 0, 0, 0, 0, 0); (memcpy((void*)0x209eafd8, "\x62\x6f\x6e\x64\x30\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00", 16)); (memcpy((void*)0x209eafe8, "\x69\x70\x36\x74\x6e\x6c\x30\x00\x00\x00\x00\x00" "\x00\x00\x00\x00", 16)); r[4] = execute_syscall(__NR_ioctl, r[1], 0x8000008990ul, 0x209eafd8ul, 0, 0, 0, 0, 0, 0); }