// https://syzkaller.appspot.com/bug?id=09297b76b7db4aa29c86ac971062bc078b06c0ff // autogenerated by syzkaller (https://github.com/google/syzkaller) #define _GNU_SOURCE #include #include #include #include #include #include #include #include #include #include uint64_t r[1] = {0xffffffffffffffff}; int main(void) { syscall(SYS_mmap, /*addr=*/0x200000000000ul, /*len=*/0x1000000ul, /*prot=PROT_WRITE|PROT_READ|PROT_EXEC*/ 7ul, /*flags=MAP_FIXED|MAP_ANONYMOUS|MAP_PRIVATE*/ 0x1012ul, /*fd=*/(intptr_t)-1, /*offset=*/0ul); const char* reason; (void)reason; intptr_t res = 0; if (write(1, "executing program\n", sizeof("executing program\n") - 1)) { } res = syscall(SYS_socket, /*domain=*/0x1cul, /*type=SOCK_STREAM*/ 1ul, /*proto=*/0x84); if (res != -1) r[0] = res; *(uint8_t*)0x2000000001c0 = 0x10; *(uint8_t*)0x2000000001c1 = 2; *(uint16_t*)0x2000000001c2 = htobe16(0x4e23); *(uint32_t*)0x2000000001c4 = htobe32(0); memset((void*)0x2000000001c8, 0, 8); memset((void*)0x2000000001d0, 0, 112); *(uint32_t*)0x200000000240 = 0; *(uint32_t*)0x200000000244 = 0x5234; *(uint32_t*)0x200000000248 = 0xffff; *(uint32_t*)0x20000000024c = 0x314; *(uint32_t*)0x200000000250 = 0x3bb; *(uint16_t*)0x200000000254 = 2; *(uint8_t*)0x200000000256 = 9; syscall(SYS_setsockopt, /*fd=*/r[0], /*level=*/0x84, /*opt=*/0xa, /*val=*/0x2000000001c0ul, /*len=*/0x98ul); *(uint8_t*)0x200000000000 = 0x1c; *(uint8_t*)0x200000000001 = 0x1c; *(uint16_t*)0x200000000002 = htobe16(0x4e22); *(uint32_t*)0x200000000004 = 0; memset((void*)0x200000000008, 0, 16); *(uint32_t*)0x200000000018 = 0; syscall(SYS_bind, /*fd=*/r[0], /*addr=*/0x200000000000ul, /*addrlen=*/0x1cul); *(uint8_t*)0x200000000180 = 0x5f; *(uint8_t*)0x200000000181 = 0x1c; *(uint16_t*)0x200000000182 = htobe16(0x4e22); *(uint32_t*)0x200000000184 = 0; *(uint64_t*)0x200000000188 = htobe64(0); *(uint64_t*)0x200000000190 = htobe64(1); *(uint32_t*)0x200000000198 = 0; syscall(SYS_connect, /*fd=*/r[0], /*addr=*/0x200000000180ul, /*addrlen=*/0x1cul); memset((void*)0x2000000020c0, 209, 1); syscall(SYS_sendto, /*fd=*/r[0], /*buf=*/0x2000000020c0ul, /*len=*/0xffeful, /*f=MSG_NOSIGNAL|MSG_EOF|MSG_DONTWAIT|MSG_DONTROUTE*/ 0x20184ul, /*addr=*/0ul, /*addrlen=*/0ul); return 0; }