// https://syzkaller.appspot.com/bug?id=13c7434436faf91b6cf112289188dcde8ff0f172 // autogenerated by syzkaller (http://github.com/google/syzkaller) #define _GNU_SOURCE #include #include #include #include #include #include #include #include #include #include #include #include #include #include __attribute__((noreturn)) static void doexit(int status) { volatile unsigned i; syscall(__NR_exit_group, status); for (i = 0;; i++) { } } #include #include const int kFailStatus = 67; const int kRetryStatus = 69; static void fail(const char* msg, ...) { int e = errno; va_list args; va_start(args, msg); vfprintf(stderr, msg, args); va_end(args); fprintf(stderr, " (errno %d)\n", e); doexit((e == ENOMEM || e == EAGAIN) ? kRetryStatus : kFailStatus); } static uint64_t current_time_ms() { struct timespec ts; if (clock_gettime(CLOCK_MONOTONIC, &ts)) fail("clock_gettime failed"); return (uint64_t)ts.tv_sec * 1000 + (uint64_t)ts.tv_nsec / 1000000; } struct ipt_getinfo { char name[32]; unsigned int valid_hooks; unsigned int hook_entry[5]; unsigned int underflow[5]; unsigned int num_entries; unsigned int size; }; struct ipt_get_entries { char name[32]; unsigned int size; void* entrytable[1024 / sizeof(void*)]; }; struct xt_counters { uint64_t pcnt, bcnt; }; struct ipt_replace { char name[32]; unsigned int valid_hooks; unsigned int num_entries; unsigned int size; unsigned int hook_entry[5]; unsigned int underflow[5]; unsigned int num_counters; struct xt_counters* counters; char entrytable[1024]; }; struct ipt_table_desc { const char* name; struct ipt_getinfo info; struct ipt_get_entries entries; struct ipt_replace replace; struct xt_counters counters[10]; }; static struct ipt_table_desc ipv4_tables[] = { {.name = "filter"}, {.name = "nat"}, {.name = "mangle"}, {.name = "raw"}, {.name = "security"}, }; #define IPT_BASE_CTL 64 #define IPT_SO_SET_REPLACE (IPT_BASE_CTL) #define IPT_SO_GET_INFO (IPT_BASE_CTL) #define IPT_SO_GET_ENTRIES (IPT_BASE_CTL + 1) static void checkpoint_net_namespace(void) { socklen_t optlen; unsigned i; int fd; fd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); if (fd == -1) fail("socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)"); for (i = 0; i < sizeof(ipv4_tables) / sizeof(ipv4_tables[0]); i++) { struct ipt_table_desc* table = &ipv4_tables[i]; strcpy(table->info.name, table->name); strcpy(table->entries.name, table->name); strcpy(table->replace.name, table->name); optlen = sizeof(table->info); if (getsockopt(fd, SOL_IP, IPT_SO_GET_INFO, &table->info, &optlen)) { switch (errno) { case EPERM: case ENOENT: case ENOPROTOOPT: continue; } fail("getsockopt(IPT_SO_GET_INFO)"); } if (table->info.size > sizeof(table->entries.entrytable)) fail("table size is too large: %u", table->info.size); if (table->info.num_entries > sizeof(table->counters) / sizeof(table->counters[0])) fail("too many counters: %u", table->info.num_entries); table->entries.size = table->info.size; optlen = sizeof(table->entries) - sizeof(table->entries.entrytable) + table->info.size; if (getsockopt(fd, SOL_IP, IPT_SO_GET_ENTRIES, &table->entries, &optlen)) fail("getsockopt(IPT_SO_GET_ENTRIES)"); table->replace.valid_hooks = table->info.valid_hooks; table->replace.num_entries = table->info.num_entries; table->replace.counters = table->counters; table->replace.size = table->info.size; memcpy(table->replace.hook_entry, table->info.hook_entry, sizeof(table->replace.hook_entry)); memcpy(table->replace.underflow, table->info.underflow, sizeof(table->replace.underflow)); memcpy(table->replace.entrytable, table->entries.entrytable, table->info.size); } close(fd); } static void reset_net_namespace(void) { struct ipt_get_entries entries; struct ipt_getinfo info; socklen_t optlen; unsigned i; int fd; memset(&info, 0, sizeof(info)); memset(&entries, 0, sizeof(entries)); fd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); if (fd == -1) fail("socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)"); for (i = 0; i < sizeof(ipv4_tables) / sizeof(ipv4_tables[0]); i++) { struct ipt_table_desc* table = &ipv4_tables[i]; if (table->info.valid_hooks == 0) continue; strcpy(info.name, table->name); optlen = sizeof(info); if (getsockopt(fd, SOL_IP, IPT_SO_GET_INFO, &info, &optlen)) fail("getsockopt(IPT_SO_GET_INFO)"); if (memcmp(&table->info, &info, sizeof(table->info)) == 0) { strcpy(entries.name, table->name); entries.size = table->info.size; optlen = sizeof(entries) - sizeof(entries.entrytable) + entries.size; if (getsockopt(fd, SOL_IP, IPT_SO_GET_ENTRIES, &entries, &optlen)) fail("getsockopt(IPT_SO_GET_ENTRIES)"); if (memcmp(&table->entries, &entries, optlen) == 0) continue; } table->replace.num_counters = info.num_entries; optlen = sizeof(table->replace) - sizeof(table->replace.entrytable) + table->replace.size; if (setsockopt(fd, SOL_IP, IPT_SO_SET_REPLACE, &table->replace, optlen)) fail("setsockopt(IPT_SO_SET_REPLACE)"); } close(fd); } static void test(); void loop() { int iter; checkpoint_net_namespace(); for (iter = 0;; iter++) { int pid = fork(); if (pid < 0) fail("loop fork failed"); if (pid == 0) { prctl(PR_SET_PDEATHSIG, SIGKILL, 0, 0, 0); setpgrp(); test(); doexit(0); } int status = 0; uint64_t start = current_time_ms(); for (;;) { int res = waitpid(-1, &status, __WALL | WNOHANG); if (res == pid) break; usleep(1000); if (current_time_ms() - start > 5 * 1000) { kill(-pid, SIGKILL); kill(pid, SIGKILL); while (waitpid(-1, &status, __WALL) != pid) { } break; } } reset_net_namespace(); } } long r[2]; void test() { memset(r, -1, sizeof(r)); syscall(__NR_mmap, 0x20000000, 0xfff000, 3, 0x32, -1, 0); r[0] = syscall(__NR_socket, 2, 1, 0); *(uint32_t*)0x2009ff70 = 1; *(uint16_t*)0x2009ff78 = 2; *(uint16_t*)0x2009ff7a = 0; *(uint32_t*)0x2009ff7c = htobe32(0xe0000002); *(uint8_t*)0x2009ff80 = 0; *(uint8_t*)0x2009ff81 = 0; *(uint8_t*)0x2009ff82 = 0; *(uint8_t*)0x2009ff83 = 0; *(uint8_t*)0x2009ff84 = 0; *(uint8_t*)0x2009ff85 = 0; *(uint8_t*)0x2009ff86 = 0; *(uint8_t*)0x2009ff87 = 0; *(uint64_t*)0x2009ff88 = 0; *(uint64_t*)0x2009ff90 = 0; *(uint64_t*)0x2009ff98 = 0; *(uint64_t*)0x2009ffa0 = 0; *(uint64_t*)0x2009ffa8 = 0; *(uint64_t*)0x2009ffb0 = 0; *(uint64_t*)0x2009ffb8 = 0; *(uint64_t*)0x2009ffc0 = 0; *(uint64_t*)0x2009ffc8 = 0; *(uint64_t*)0x2009ffd0 = 0; *(uint64_t*)0x2009ffd8 = 0; *(uint64_t*)0x2009ffe0 = 0; *(uint64_t*)0x2009ffe8 = 0; *(uint64_t*)0x2009fff0 = 0; *(uint64_t*)0x2009fff8 = 0; syscall(__NR_setsockopt, r[0], 0, 0x2a, 0x2009ff70, 0x90); r[1] = syscall(__NR_socket, 0xa, 3, 0xd); memcpy((void*)0x20001b60, "\x73\x65\x63\x75\x72\x69\x74\x79\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00", 32); *(uint32_t*)0x20001b80 = 0xe; *(uint32_t*)0x20001b84 = 4; *(uint32_t*)0x20001b88 = 0x360; *(uint32_t*)0x20001b8c = -1; *(uint32_t*)0x20001b90 = 0; *(uint32_t*)0x20001b94 = 0; *(uint32_t*)0x20001b98 = 0; *(uint32_t*)0x20001b9c = -1; *(uint32_t*)0x20001ba0 = -1; *(uint32_t*)0x20001ba4 = 0; *(uint32_t*)0x20001ba8 = 0; *(uint32_t*)0x20001bac = 0; *(uint32_t*)0x20001bb0 = -1; *(uint32_t*)0x20001bb4 = 4; *(uint64_t*)0x20001bb8 = 0x20000fc0; *(uint8_t*)0x20001bc0 = 0; *(uint8_t*)0x20001bc1 = 0; *(uint8_t*)0x20001bc2 = 0; *(uint8_t*)0x20001bc3 = 0; *(uint8_t*)0x20001bc4 = 0; *(uint8_t*)0x20001bc5 = 0; *(uint8_t*)0x20001bc6 = 0; *(uint8_t*)0x20001bc7 = 0; *(uint8_t*)0x20001bc8 = 0; *(uint8_t*)0x20001bc9 = 0; *(uint8_t*)0x20001bca = 0; *(uint8_t*)0x20001bcb = 0; *(uint8_t*)0x20001bcc = 0; *(uint8_t*)0x20001bcd = 0; *(uint8_t*)0x20001bce = 0; *(uint8_t*)0x20001bcf = 0; *(uint8_t*)0x20001bd0 = 0; *(uint8_t*)0x20001bd1 = 0; *(uint8_t*)0x20001bd2 = 0; *(uint8_t*)0x20001bd3 = 0; *(uint8_t*)0x20001bd4 = 0; *(uint8_t*)0x20001bd5 = 0; *(uint8_t*)0x20001bd6 = 0; *(uint8_t*)0x20001bd7 = 0; *(uint8_t*)0x20001bd8 = 0; *(uint8_t*)0x20001bd9 = 0; *(uint8_t*)0x20001bda = 0; *(uint8_t*)0x20001bdb = 0; *(uint8_t*)0x20001bdc = 0; *(uint8_t*)0x20001bdd = 0; *(uint8_t*)0x20001bde = 0; *(uint8_t*)0x20001bdf = 0; *(uint8_t*)0x20001be0 = 0; *(uint8_t*)0x20001be1 = 0; *(uint8_t*)0x20001be2 = 0; *(uint8_t*)0x20001be3 = 0; *(uint8_t*)0x20001be4 = 0; *(uint8_t*)0x20001be5 = 0; *(uint8_t*)0x20001be6 = 0; *(uint8_t*)0x20001be7 = 0; *(uint8_t*)0x20001be8 = 0; *(uint8_t*)0x20001be9 = 0; *(uint8_t*)0x20001bea = 0; *(uint8_t*)0x20001beb = 0; *(uint8_t*)0x20001bec = 0; *(uint8_t*)0x20001bed = 0; *(uint8_t*)0x20001bee = 0; *(uint8_t*)0x20001bef = 0; *(uint8_t*)0x20001bf0 = 0; *(uint8_t*)0x20001bf1 = 0; *(uint8_t*)0x20001bf2 = 0; *(uint8_t*)0x20001bf3 = 0; *(uint8_t*)0x20001bf4 = 0; *(uint8_t*)0x20001bf5 = 0; *(uint8_t*)0x20001bf6 = 0; *(uint8_t*)0x20001bf7 = 0; *(uint8_t*)0x20001bf8 = 0; *(uint8_t*)0x20001bf9 = 0; *(uint8_t*)0x20001bfa = 0; *(uint8_t*)0x20001bfb = 0; *(uint8_t*)0x20001bfc = 0; *(uint8_t*)0x20001bfd = 0; *(uint8_t*)0x20001bfe = 0; *(uint8_t*)0x20001bff = 0; *(uint8_t*)0x20001c00 = 0; *(uint8_t*)0x20001c01 = 0; *(uint8_t*)0x20001c02 = 0; *(uint8_t*)0x20001c03 = 0; *(uint8_t*)0x20001c04 = 0; *(uint8_t*)0x20001c05 = 0; *(uint8_t*)0x20001c06 = 0; *(uint8_t*)0x20001c07 = 0; *(uint8_t*)0x20001c08 = 0; *(uint8_t*)0x20001c09 = 0; *(uint8_t*)0x20001c0a = 0; *(uint8_t*)0x20001c0b = 0; *(uint8_t*)0x20001c0c = 0; *(uint8_t*)0x20001c0d = 0; *(uint8_t*)0x20001c0e = 0; *(uint8_t*)0x20001c0f = 0; *(uint8_t*)0x20001c10 = 0; *(uint8_t*)0x20001c11 = 0; *(uint8_t*)0x20001c12 = 0; *(uint8_t*)0x20001c13 = 0; *(uint8_t*)0x20001c14 = 0; *(uint8_t*)0x20001c15 = 0; *(uint8_t*)0x20001c16 = 0; *(uint8_t*)0x20001c17 = 0; *(uint8_t*)0x20001c18 = 0; *(uint8_t*)0x20001c19 = 0; *(uint8_t*)0x20001c1a = 0; *(uint8_t*)0x20001c1b = 0; *(uint8_t*)0x20001c1c = 0; *(uint8_t*)0x20001c1d = 0; *(uint8_t*)0x20001c1e = 0; *(uint8_t*)0x20001c1f = 0; *(uint8_t*)0x20001c20 = 0; *(uint8_t*)0x20001c21 = 0; *(uint8_t*)0x20001c22 = 0; *(uint8_t*)0x20001c23 = 0; *(uint8_t*)0x20001c24 = 0; *(uint8_t*)0x20001c25 = 0; *(uint8_t*)0x20001c26 = 0; *(uint8_t*)0x20001c27 = 0; *(uint8_t*)0x20001c28 = 0; *(uint8_t*)0x20001c29 = 0; *(uint8_t*)0x20001c2a = 0; *(uint8_t*)0x20001c2b = 0; *(uint8_t*)0x20001c2c = 0; *(uint8_t*)0x20001c2d = 0; *(uint8_t*)0x20001c2e = 0; *(uint8_t*)0x20001c2f = 0; *(uint8_t*)0x20001c30 = 0; *(uint8_t*)0x20001c31 = 0; *(uint8_t*)0x20001c32 = 0; *(uint8_t*)0x20001c33 = 0; *(uint8_t*)0x20001c34 = 0; *(uint8_t*)0x20001c35 = 0; *(uint8_t*)0x20001c36 = 0; *(uint8_t*)0x20001c37 = 0; *(uint8_t*)0x20001c38 = 0; *(uint8_t*)0x20001c39 = 0; *(uint8_t*)0x20001c3a = 0; *(uint8_t*)0x20001c3b = 0; *(uint8_t*)0x20001c3c = 0; *(uint8_t*)0x20001c3d = 0; *(uint8_t*)0x20001c3e = 0; *(uint8_t*)0x20001c3f = 0; *(uint8_t*)0x20001c40 = 0; *(uint8_t*)0x20001c41 = 0; *(uint8_t*)0x20001c42 = 0; *(uint8_t*)0x20001c43 = 0; *(uint8_t*)0x20001c44 = 0; *(uint8_t*)0x20001c45 = 0; *(uint8_t*)0x20001c46 = 0; *(uint8_t*)0x20001c47 = 0; *(uint32_t*)0x20001c48 = 0; *(uint16_t*)0x20001c4c = 0xa8; *(uint16_t*)0x20001c4e = 0xd0; *(uint32_t*)0x20001c50 = 0; *(uint64_t*)0x20001c58 = 0; *(uint64_t*)0x20001c60 = 0; *(uint16_t*)0x20001c68 = 0x28; memcpy((void*)0x20001c6a, "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00", 29); *(uint8_t*)0x20001c87 = 0; *(uint32_t*)0x20001c88 = 0xfffffffe; *(uint8_t*)0x20001c90 = 0; *(uint8_t*)0x20001c91 = 0; *(uint8_t*)0x20001c92 = 0; *(uint8_t*)0x20001c93 = 0; *(uint8_t*)0x20001c94 = 0; *(uint8_t*)0x20001c95 = 0; *(uint8_t*)0x20001c96 = 0; *(uint8_t*)0x20001c97 = 0; *(uint8_t*)0x20001c98 = 0; *(uint8_t*)0x20001c99 = 0; *(uint8_t*)0x20001c9a = 0; *(uint8_t*)0x20001c9b = 0; *(uint8_t*)0x20001c9c = 0; *(uint8_t*)0x20001c9d = 0; *(uint8_t*)0x20001c9e = 0; *(uint8_t*)0x20001c9f = 0; *(uint8_t*)0x20001ca0 = 0; *(uint8_t*)0x20001ca1 = 0; *(uint8_t*)0x20001ca2 = 0; *(uint8_t*)0x20001ca3 = 0; *(uint8_t*)0x20001ca4 = 0; *(uint8_t*)0x20001ca5 = 0; *(uint8_t*)0x20001ca6 = 0; *(uint8_t*)0x20001ca7 = 0; *(uint8_t*)0x20001ca8 = 0; *(uint8_t*)0x20001ca9 = 0; *(uint8_t*)0x20001caa = 0; *(uint8_t*)0x20001cab = 0; *(uint8_t*)0x20001cac = 0; *(uint8_t*)0x20001cad = 0; *(uint8_t*)0x20001cae = 0; *(uint8_t*)0x20001caf = 0; *(uint8_t*)0x20001cb0 = 0; *(uint8_t*)0x20001cb1 = 0; *(uint8_t*)0x20001cb2 = 0; *(uint8_t*)0x20001cb3 = 0; *(uint8_t*)0x20001cb4 = 0; *(uint8_t*)0x20001cb5 = 0; *(uint8_t*)0x20001cb6 = 0; *(uint8_t*)0x20001cb7 = 0; *(uint8_t*)0x20001cb8 = 0; *(uint8_t*)0x20001cb9 = 0; *(uint8_t*)0x20001cba = 0; *(uint8_t*)0x20001cbb = 0; *(uint8_t*)0x20001cbc = 0; *(uint8_t*)0x20001cbd = 0; *(uint8_t*)0x20001cbe = 0; *(uint8_t*)0x20001cbf = 0; *(uint8_t*)0x20001cc0 = 0; *(uint8_t*)0x20001cc1 = 0; *(uint8_t*)0x20001cc2 = 0; *(uint8_t*)0x20001cc3 = 0; *(uint8_t*)0x20001cc4 = 0; *(uint8_t*)0x20001cc5 = 0; *(uint8_t*)0x20001cc6 = 0; *(uint8_t*)0x20001cc7 = 0; *(uint8_t*)0x20001cc8 = 0; *(uint8_t*)0x20001cc9 = 0; *(uint8_t*)0x20001cca = 0; *(uint8_t*)0x20001ccb = 0; *(uint8_t*)0x20001ccc = 0; *(uint8_t*)0x20001ccd = 0; *(uint8_t*)0x20001cce = 0; *(uint8_t*)0x20001ccf = 0; *(uint8_t*)0x20001cd0 = 0; *(uint8_t*)0x20001cd1 = 0; *(uint8_t*)0x20001cd2 = 0; *(uint8_t*)0x20001cd3 = 0; *(uint8_t*)0x20001cd4 = 0; *(uint8_t*)0x20001cd5 = 0; *(uint8_t*)0x20001cd6 = 0; *(uint8_t*)0x20001cd7 = 0; *(uint8_t*)0x20001cd8 = 0; *(uint8_t*)0x20001cd9 = 0; *(uint8_t*)0x20001cda = 0; *(uint8_t*)0x20001cdb = 0; *(uint8_t*)0x20001cdc = 0; *(uint8_t*)0x20001cdd = 0; *(uint8_t*)0x20001cde = 0; *(uint8_t*)0x20001cdf = 0; *(uint8_t*)0x20001ce0 = 0; *(uint8_t*)0x20001ce1 = 0; *(uint8_t*)0x20001ce2 = 0; *(uint8_t*)0x20001ce3 = 0; *(uint8_t*)0x20001ce4 = 0; *(uint8_t*)0x20001ce5 = 0; *(uint8_t*)0x20001ce6 = 0; *(uint8_t*)0x20001ce7 = 0; *(uint8_t*)0x20001ce8 = 0; *(uint8_t*)0x20001ce9 = 0; *(uint8_t*)0x20001cea = 0; *(uint8_t*)0x20001ceb = 0; *(uint8_t*)0x20001cec = 0; *(uint8_t*)0x20001ced = 0; *(uint8_t*)0x20001cee = 0; *(uint8_t*)0x20001cef = 0; *(uint8_t*)0x20001cf0 = 0; *(uint8_t*)0x20001cf1 = 0; *(uint8_t*)0x20001cf2 = 0; *(uint8_t*)0x20001cf3 = 0; *(uint8_t*)0x20001cf4 = 0; *(uint8_t*)0x20001cf5 = 0; *(uint8_t*)0x20001cf6 = 0; *(uint8_t*)0x20001cf7 = 0; *(uint8_t*)0x20001cf8 = 0; *(uint8_t*)0x20001cf9 = 0; *(uint8_t*)0x20001cfa = 0; *(uint8_t*)0x20001cfb = 0; *(uint8_t*)0x20001cfc = 0; *(uint8_t*)0x20001cfd = 0; *(uint8_t*)0x20001cfe = 0; *(uint8_t*)0x20001cff = 0; *(uint8_t*)0x20001d00 = 0; *(uint8_t*)0x20001d01 = 0; *(uint8_t*)0x20001d02 = 0; *(uint8_t*)0x20001d03 = 0; *(uint8_t*)0x20001d04 = 0; *(uint8_t*)0x20001d05 = 0; *(uint8_t*)0x20001d06 = 0; *(uint8_t*)0x20001d07 = 0; *(uint8_t*)0x20001d08 = 0; *(uint8_t*)0x20001d09 = 0; *(uint8_t*)0x20001d0a = 0; *(uint8_t*)0x20001d0b = 0; *(uint8_t*)0x20001d0c = 0; *(uint8_t*)0x20001d0d = 0; *(uint8_t*)0x20001d0e = 0; *(uint8_t*)0x20001d0f = 0; *(uint8_t*)0x20001d10 = 0; *(uint8_t*)0x20001d11 = 0; *(uint8_t*)0x20001d12 = 0; *(uint8_t*)0x20001d13 = 0; *(uint8_t*)0x20001d14 = 0; *(uint8_t*)0x20001d15 = 0; *(uint8_t*)0x20001d16 = 0; *(uint8_t*)0x20001d17 = 0; *(uint32_t*)0x20001d18 = 0; *(uint16_t*)0x20001d1c = 0xa8; *(uint16_t*)0x20001d1e = 0xd0; *(uint32_t*)0x20001d20 = 0; *(uint64_t*)0x20001d24 = 0; *(uint64_t*)0x20001d2c = 0; *(uint16_t*)0x20001d38 = 0x28; memcpy((void*)0x20001d3a, "\x43\x4f\x4e\x4e\x53\x45\x43\x4d\x41\x52\x4b\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00", 29); *(uint8_t*)0x20001d57 = 0; *(uint8_t*)0x20001d58 = 2; *(uint8_t*)0x20001d60 = 0; *(uint8_t*)0x20001d61 = 0; *(uint8_t*)0x20001d62 = 0; *(uint8_t*)0x20001d63 = 0; *(uint8_t*)0x20001d64 = 0; *(uint8_t*)0x20001d65 = 0; *(uint8_t*)0x20001d66 = 0; *(uint8_t*)0x20001d67 = 0; *(uint8_t*)0x20001d68 = 0; *(uint8_t*)0x20001d69 = 0; *(uint8_t*)0x20001d6a = 0; *(uint8_t*)0x20001d6b = 0; *(uint8_t*)0x20001d6c = 0; *(uint8_t*)0x20001d6d = 0; *(uint8_t*)0x20001d6e = 0; *(uint8_t*)0x20001d6f = 0; *(uint8_t*)0x20001d70 = 0; *(uint8_t*)0x20001d71 = 0; *(uint8_t*)0x20001d72 = 0; *(uint8_t*)0x20001d73 = 0; *(uint8_t*)0x20001d74 = 0; *(uint8_t*)0x20001d75 = 0; *(uint8_t*)0x20001d76 = 0; *(uint8_t*)0x20001d77 = 0; *(uint8_t*)0x20001d78 = 0; *(uint8_t*)0x20001d79 = 0; *(uint8_t*)0x20001d7a = 0; *(uint8_t*)0x20001d7b = 0; *(uint8_t*)0x20001d7c = 0; *(uint8_t*)0x20001d7d = 0; *(uint8_t*)0x20001d7e = 0; *(uint8_t*)0x20001d7f = 0; *(uint8_t*)0x20001d80 = 0; *(uint8_t*)0x20001d81 = 0; *(uint8_t*)0x20001d82 = 0; *(uint8_t*)0x20001d83 = 0; *(uint8_t*)0x20001d84 = 0; *(uint8_t*)0x20001d85 = 0; *(uint8_t*)0x20001d86 = 0; *(uint8_t*)0x20001d87 = 0; *(uint8_t*)0x20001d88 = 0; *(uint8_t*)0x20001d89 = 0; *(uint8_t*)0x20001d8a = 0; *(uint8_t*)0x20001d8b = 0; *(uint8_t*)0x20001d8c = 0; *(uint8_t*)0x20001d8d = 0; *(uint8_t*)0x20001d8e = 0; *(uint8_t*)0x20001d8f = 0; *(uint8_t*)0x20001d90 = 0; *(uint8_t*)0x20001d91 = 0; *(uint8_t*)0x20001d92 = 0; *(uint8_t*)0x20001d93 = 0; *(uint8_t*)0x20001d94 = 0; *(uint8_t*)0x20001d95 = 0; *(uint8_t*)0x20001d96 = 0; *(uint8_t*)0x20001d97 = 0; *(uint8_t*)0x20001d98 = 0; *(uint8_t*)0x20001d99 = 0; *(uint8_t*)0x20001d9a = 0; *(uint8_t*)0x20001d9b = 0; *(uint8_t*)0x20001d9c = 0; *(uint8_t*)0x20001d9d = 0; *(uint8_t*)0x20001d9e = 0; *(uint8_t*)0x20001d9f = 0; *(uint8_t*)0x20001da0 = 0; *(uint8_t*)0x20001da1 = 0; *(uint8_t*)0x20001da2 = 0; *(uint8_t*)0x20001da3 = 0; *(uint8_t*)0x20001da4 = 0; *(uint8_t*)0x20001da5 = 0; *(uint8_t*)0x20001da6 = 0; *(uint8_t*)0x20001da7 = 0; *(uint8_t*)0x20001da8 = 0; *(uint8_t*)0x20001da9 = 0; *(uint8_t*)0x20001daa = 0; *(uint8_t*)0x20001dab = 0; *(uint8_t*)0x20001dac = 0; *(uint8_t*)0x20001dad = 0; *(uint8_t*)0x20001dae = 0; *(uint8_t*)0x20001daf = 0; *(uint8_t*)0x20001db0 = 0; *(uint8_t*)0x20001db1 = 0; *(uint8_t*)0x20001db2 = 0; *(uint8_t*)0x20001db3 = 0; *(uint8_t*)0x20001db4 = 0; *(uint8_t*)0x20001db5 = 0; *(uint8_t*)0x20001db6 = 0; *(uint8_t*)0x20001db7 = 0; *(uint8_t*)0x20001db8 = 0; *(uint8_t*)0x20001db9 = 0; *(uint8_t*)0x20001dba = 0; *(uint8_t*)0x20001dbb = 0; *(uint8_t*)0x20001dbc = 0; *(uint8_t*)0x20001dbd = 0; *(uint8_t*)0x20001dbe = 0; *(uint8_t*)0x20001dbf = 0; *(uint8_t*)0x20001dc0 = 0; *(uint8_t*)0x20001dc1 = 0; *(uint8_t*)0x20001dc2 = 0; *(uint8_t*)0x20001dc3 = 0; *(uint8_t*)0x20001dc4 = 0; *(uint8_t*)0x20001dc5 = 0; *(uint8_t*)0x20001dc6 = 0; *(uint8_t*)0x20001dc7 = 0; *(uint8_t*)0x20001dc8 = 0; *(uint8_t*)0x20001dc9 = 0; *(uint8_t*)0x20001dca = 0; *(uint8_t*)0x20001dcb = 0; *(uint8_t*)0x20001dcc = 0; *(uint8_t*)0x20001dcd = 0; *(uint8_t*)0x20001dce = 0; *(uint8_t*)0x20001dcf = 0; *(uint8_t*)0x20001dd0 = 0; *(uint8_t*)0x20001dd1 = 0; *(uint8_t*)0x20001dd2 = 0; *(uint8_t*)0x20001dd3 = 0; *(uint8_t*)0x20001dd4 = 0; *(uint8_t*)0x20001dd5 = 0; *(uint8_t*)0x20001dd6 = 0; *(uint8_t*)0x20001dd7 = 0; *(uint8_t*)0x20001dd8 = 0; *(uint8_t*)0x20001dd9 = 0; *(uint8_t*)0x20001dda = 0; *(uint8_t*)0x20001ddb = 0; *(uint8_t*)0x20001ddc = 0; *(uint8_t*)0x20001ddd = 0; *(uint8_t*)0x20001dde = 0; *(uint8_t*)0x20001ddf = 0; *(uint8_t*)0x20001de0 = 0; *(uint8_t*)0x20001de1 = 0; *(uint8_t*)0x20001de2 = 0; *(uint8_t*)0x20001de3 = 0; *(uint8_t*)0x20001de4 = 0; *(uint8_t*)0x20001de5 = 0; *(uint8_t*)0x20001de6 = 0; *(uint8_t*)0x20001de7 = 0; *(uint32_t*)0x20001de8 = 0; *(uint16_t*)0x20001dec = 0xa8; *(uint16_t*)0x20001dee = 0xf0; *(uint32_t*)0x20001df0 = 0; *(uint64_t*)0x20001df4 = 0; *(uint64_t*)0x20001dfc = 0; *(uint16_t*)0x20001e08 = 0x48; memcpy((void*)0x20001e0a, "\x54\x45\x45\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00", 29); *(uint8_t*)0x20001e27 = 1; *(uint8_t*)0x20001e28 = -1; *(uint8_t*)0x20001e29 = 1; *(uint8_t*)0x20001e2a = 0; *(uint8_t*)0x20001e2b = 0; *(uint8_t*)0x20001e2c = 0; *(uint8_t*)0x20001e2d = 0; *(uint8_t*)0x20001e2e = 0; *(uint8_t*)0x20001e2f = 0; *(uint8_t*)0x20001e30 = 0; *(uint8_t*)0x20001e31 = 0; *(uint8_t*)0x20001e32 = 0; *(uint8_t*)0x20001e33 = 0; *(uint8_t*)0x20001e34 = 0; *(uint8_t*)0x20001e35 = 0; *(uint8_t*)0x20001e36 = 0; *(uint8_t*)0x20001e37 = 1; memcpy((void*)0x20001e38, "\x73\x79\x7a\x6b\x61\x6c\x6c\x65\x72\x30\x00\x00\x00\x00\x00\x00", 16); *(uint64_t*)0x20001e48 = 0x81; *(uint8_t*)0x20001e50 = 0xfe; *(uint8_t*)0x20001e51 = 0x80; *(uint8_t*)0x20001e52 = 0; *(uint8_t*)0x20001e53 = 0; *(uint8_t*)0x20001e54 = 0; *(uint8_t*)0x20001e55 = 0; *(uint8_t*)0x20001e56 = 0; *(uint8_t*)0x20001e57 = 0; *(uint8_t*)0x20001e58 = 0; *(uint8_t*)0x20001e59 = 0; *(uint8_t*)0x20001e5a = 0; *(uint8_t*)0x20001e5b = 0; *(uint8_t*)0x20001e5c = 0; *(uint8_t*)0x20001e5d = 0; *(uint8_t*)0x20001e5e = 0; *(uint8_t*)0x20001e5f = 0xbb; *(uint8_t*)0x20001e60 = 0xfe; *(uint8_t*)0x20001e61 = 0x80; *(uint8_t*)0x20001e62 = 0; *(uint8_t*)0x20001e63 = 0; *(uint8_t*)0x20001e64 = 0; *(uint8_t*)0x20001e65 = 0; *(uint8_t*)0x20001e66 = 0; *(uint8_t*)0x20001e67 = 0; *(uint8_t*)0x20001e68 = 0; *(uint8_t*)0x20001e69 = 0; *(uint8_t*)0x20001e6a = 0; *(uint8_t*)0x20001e6b = 0; *(uint8_t*)0x20001e6c = 0; *(uint8_t*)0x20001e6d = 0; *(uint8_t*)0x20001e6e = 0; *(uint8_t*)0x20001e6f = 0xaa; *(uint32_t*)0x20001e70 = htobe32(0); *(uint32_t*)0x20001e74 = htobe32(0); *(uint32_t*)0x20001e78 = htobe32(0); *(uint32_t*)0x20001e7c = htobe32(0); *(uint32_t*)0x20001e80 = htobe32(0); *(uint32_t*)0x20001e84 = htobe32(0); *(uint32_t*)0x20001e88 = htobe32(0); *(uint32_t*)0x20001e8c = htobe32(0); memcpy((void*)0x20001e90, "\xd0\x70\x8f\x25\x7f\xef\x94\x71\xd1\x07\x5b\xee\x30\xcb\x6c\xd9", 16); memcpy((void*)0x20001ea0, "\x74\x75\x6e\x6c\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", 16); *(uint8_t*)0x20001eb0 = 0; *(uint8_t*)0x20001eb1 = 0; *(uint8_t*)0x20001eb2 = 0; *(uint8_t*)0x20001eb3 = 0; *(uint8_t*)0x20001eb4 = 0; *(uint8_t*)0x20001eb5 = 0; *(uint8_t*)0x20001eb6 = 0; *(uint8_t*)0x20001eb7 = 0; *(uint8_t*)0x20001eb8 = 0; *(uint8_t*)0x20001eb9 = 0; *(uint8_t*)0x20001eba = 0; *(uint8_t*)0x20001ebb = 0; *(uint8_t*)0x20001ebc = 0; *(uint8_t*)0x20001ebd = 0; *(uint8_t*)0x20001ebe = 0; *(uint8_t*)0x20001ebf = 0; *(uint8_t*)0x20001ec0 = 0; *(uint8_t*)0x20001ec1 = 0; *(uint8_t*)0x20001ec2 = 0; *(uint8_t*)0x20001ec3 = 0; *(uint8_t*)0x20001ec4 = 0; *(uint8_t*)0x20001ec5 = 0; *(uint8_t*)0x20001ec6 = 0; *(uint8_t*)0x20001ec7 = 0; *(uint8_t*)0x20001ec8 = 0; *(uint8_t*)0x20001ec9 = 0; *(uint8_t*)0x20001eca = 0; *(uint8_t*)0x20001ecb = 0; *(uint8_t*)0x20001ecc = 0; *(uint8_t*)0x20001ecd = 0; *(uint8_t*)0x20001ece = 0; *(uint8_t*)0x20001ecf = 0; *(uint16_t*)0x20001ed0 = 0; *(uint8_t*)0x20001ed2 = 0; *(uint8_t*)0x20001ed3 = 0; *(uint8_t*)0x20001ed4 = 0; *(uint32_t*)0x20001ed8 = 0; *(uint16_t*)0x20001edc = 0xa8; *(uint16_t*)0x20001ede = 0xd0; *(uint32_t*)0x20001ee0 = 0; *(uint64_t*)0x20001ee4 = 0; *(uint64_t*)0x20001eec = 0; *(uint16_t*)0x20001ef8 = 0x28; memcpy((void*)0x20001efa, "\x41\x55\x44\x49\x54\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00", 29); *(uint8_t*)0x20001f17 = 0; *(uint8_t*)0x20001f18 = 0; *(uint64_t*)0x20000fc0 = 0; *(uint64_t*)0x20000fc8 = 0; *(uint64_t*)0x20000fd0 = 0; *(uint64_t*)0x20000fd8 = 0; *(uint64_t*)0x20000fe0 = 0; *(uint64_t*)0x20000fe8 = 0; *(uint64_t*)0x20000ff0 = 0; *(uint64_t*)0x20000ff8 = 0; syscall(__NR_setsockopt, r[1], 0x29, 0x40, 0x20001b60, 0x3c0); } int main() { for (;;) { loop(); } }