// 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_bind #define __NR_bind 49 #endif #ifndef __NR_sendto #define __NR_sendto 44 #endif #ifndef __NR_connect #define __NR_connect 42 #endif #ifndef __NR_setsockopt #define __NR_setsockopt 54 #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 #define NONFAILING(x) x 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[30]; void main() { memset(r, -1, sizeof(r)); r[0] = execute_syscall(__NR_mmap, 0x20000000ul, 0x1a000ul, 0x3ul, 0x32ul, 0xfffffffffffffffful, 0x0ul, 0, 0, 0); r[1] = execute_syscall(__NR_socket, 0xaul, 0x2ul, 0x0ul, 0, 0, 0, 0, 0, 0); NONFAILING(*(uint16_t*)0x20005000 = (uint16_t)0xa); NONFAILING(*(uint16_t*)0x20005002 = (uint16_t)0x204e); NONFAILING(*(uint32_t*)0x20005004 = (uint32_t)0x0); NONFAILING(*(uint64_t*)0x20005008 = (uint64_t)0x0); NONFAILING(*(uint64_t*)0x20005010 = (uint64_t)0x0); NONFAILING(*(uint32_t*)0x20005018 = (uint32_t)0x0); r[8] = execute_syscall(__NR_bind, r[1], 0x20005000ul, 0x20ul, 0, 0, 0, 0, 0, 0); NONFAILING(*(uint16_t*)0x2000b000 = (uint16_t)0xa); NONFAILING(*(uint16_t*)0x2000b002 = (uint16_t)0x204e); NONFAILING(*(uint32_t*)0x2000b004 = (uint32_t)0x0); NONFAILING(*(uint64_t*)0x2000b008 = (uint64_t)0x0); NONFAILING(*(uint64_t*)0x2000b010 = (uint64_t)0x0); NONFAILING(*(uint32_t*)0x2000b018 = (uint32_t)0x0); r[15] = execute_syscall(__NR_sendto, r[1], 0x20013000ul, 0x0ul, 0x20000800ul, 0x2000b000ul, 0x20ul, 0, 0, 0); NONFAILING(*(uint16_t*)0x20017ff0 = (uint16_t)0x2); NONFAILING(*(uint16_t*)0x20017ff2 = (uint16_t)0x204e); NONFAILING(*(uint32_t*)0x20017ff4 = (uint32_t)0x100007f); NONFAILING(*(uint8_t*)0x20017ff8 = (uint8_t)0x0); NONFAILING(*(uint8_t*)0x20017ff9 = (uint8_t)0x0); NONFAILING(*(uint8_t*)0x20017ffa = (uint8_t)0x0); NONFAILING(*(uint8_t*)0x20017ffb = (uint8_t)0x0); NONFAILING(*(uint8_t*)0x20017ffc = (uint8_t)0x0); NONFAILING(*(uint8_t*)0x20017ffd = (uint8_t)0x0); NONFAILING(*(uint8_t*)0x20017ffe = (uint8_t)0x0); NONFAILING(*(uint8_t*)0x20017fff = (uint8_t)0x0); r[27] = execute_syscall(__NR_connect, r[1], 0x20017ff0ul, 0x10ul, 0, 0, 0, 0, 0, 0); NONFAILING(*(uint32_t*)0x20005000 = (uint32_t)0x2); r[29] = execute_syscall(__NR_setsockopt, r[1], 0x29ul, 0x1ul, 0x20005000ul, 0x4ul, 0, 0, 0, 0); return 0; }