// https://syzkaller.appspot.com/bug?id=59601a5ce8e9ff2c30d5fba40000bbf7b37add43 // autogenerated by syzkaller (https://github.com/google/syzkaller) #define _GNU_SOURCE #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include static void sleep_ms(uint64_t ms) { usleep(ms * 1000); } static uint64_t current_time_ms(void) { struct timespec ts; if (clock_gettime(CLOCK_MONOTONIC, &ts)) exit(1); return (uint64_t)ts.tv_sec * 1000 + (uint64_t)ts.tv_nsec / 1000000; } static bool write_file(const char* file, const char* what, ...) { char buf[1024]; va_list args; va_start(args, what); vsnprintf(buf, sizeof(buf), what, args); va_end(args); buf[sizeof(buf) - 1] = 0; int len = strlen(buf); int fd = open(file, O_WRONLY | O_CLOEXEC); if (fd == -1) return false; if (write(fd, buf, len) != len) { int err = errno; close(fd); errno = err; return false; } close(fd); return true; } static void kill_and_wait(int pid, int* status) { kill(-pid, SIGKILL); kill(pid, SIGKILL); int i; for (i = 0; i < 100; i++) { if (waitpid(-1, status, WNOHANG | __WALL) == pid) return; usleep(1000); } DIR* dir = opendir("/sys/fs/fuse/connections"); if (dir) { for (;;) { struct dirent* ent = readdir(dir); if (!ent) break; if (strcmp(ent->d_name, ".") == 0 || strcmp(ent->d_name, "..") == 0) continue; char abort[300]; snprintf(abort, sizeof(abort), "/sys/fs/fuse/connections/%s/abort", ent->d_name); int fd = open(abort, O_WRONLY); if (fd == -1) { continue; } if (write(fd, abort, 1) < 0) { } close(fd); } closedir(dir); } else { } while (waitpid(-1, status, __WALL) != pid) { } } static void setup_test() { prctl(PR_SET_PDEATHSIG, SIGKILL, 0, 0, 0); setpgrp(); write_file("/proc/self/oom_score_adj", "1000"); } static void execute_one(void); #define WAIT_FLAGS __WALL static void loop(void) { int iter; for (iter = 0;; iter++) { int pid = fork(); if (pid < 0) exit(1); if (pid == 0) { setup_test(); execute_one(); exit(0); } int status = 0; uint64_t start = current_time_ms(); for (;;) { if (waitpid(-1, &status, WNOHANG | WAIT_FLAGS) == pid) break; sleep_ms(1); if (current_time_ms() - start < 5 * 1000) continue; kill_and_wait(pid, &status); break; } } } uint64_t r[3] = {0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff}; void execute_one(void) { intptr_t res = 0; res = syscall(__NR_socket, 0x10, 3, 6); if (res != -1) r[0] = res; *(uint64_t*)0x20000080 = 0; *(uint32_t*)0x20000088 = 0xffffff7c; *(uint64_t*)0x20000090 = 0x200bfff0; *(uint64_t*)0x200bfff0 = 0x20006440; *(uint32_t*)0x20006440 = 0xb8; *(uint16_t*)0x20006444 = 0x19; *(uint16_t*)0x20006446 = 1; *(uint32_t*)0x20006448 = 0; *(uint32_t*)0x2000644c = 0; *(uint8_t*)0x20006450 = -1; *(uint8_t*)0x20006451 = 1; *(uint8_t*)0x20006452 = 0; *(uint8_t*)0x20006453 = 0; *(uint8_t*)0x20006454 = 0; *(uint8_t*)0x20006455 = 0; *(uint8_t*)0x20006456 = 0; *(uint8_t*)0x20006457 = 0; *(uint8_t*)0x20006458 = 0; *(uint8_t*)0x20006459 = 0; *(uint8_t*)0x2000645a = 0; *(uint8_t*)0x2000645b = 0; *(uint8_t*)0x2000645c = 0; *(uint8_t*)0x2000645d = 0; *(uint8_t*)0x2000645e = 0; *(uint8_t*)0x2000645f = 1; *(uint32_t*)0x20006460 = htobe32(0xe0000001); *(uint16_t*)0x20006470 = htobe16(0); *(uint16_t*)0x20006472 = htobe16(0); *(uint16_t*)0x20006474 = htobe16(0); *(uint16_t*)0x20006476 = htobe16(0); *(uint16_t*)0x20006478 = 0xa; *(uint8_t*)0x2000647a = 0; *(uint8_t*)0x2000647b = 0; *(uint8_t*)0x2000647c = 0; *(uint32_t*)0x20006480 = 0; *(uint32_t*)0x20006484 = 0; *(uint64_t*)0x20006488 = 0; *(uint64_t*)0x20006490 = 0; *(uint64_t*)0x20006498 = 0; *(uint64_t*)0x200064a0 = 0; *(uint64_t*)0x200064a8 = 0; *(uint64_t*)0x200064b0 = 0; *(uint64_t*)0x200064b8 = 0; *(uint64_t*)0x200064c0 = 0; *(uint64_t*)0x200064c8 = 0; *(uint64_t*)0x200064d0 = 0; *(uint64_t*)0x200064d8 = 0; *(uint64_t*)0x200064e0 = 0; *(uint32_t*)0x200064e8 = 0; *(uint32_t*)0x200064ec = 0; *(uint8_t*)0x200064f0 = 0; *(uint8_t*)0x200064f1 = 0; *(uint8_t*)0x200064f2 = 0; *(uint8_t*)0x200064f3 = 0; *(uint64_t*)0x200bfff8 = 0xb8; *(uint64_t*)0x20000098 = 1; *(uint64_t*)0x200000a0 = 0; *(uint64_t*)0x200000a8 = 0; *(uint32_t*)0x200000b0 = 0; syscall(__NR_sendmsg, r[0], 0x20000080, 0); res = syscall(__NR_socket, 0x10, 3, 6); if (res != -1) r[1] = res; *(uint64_t*)0x20000080 = 0; *(uint32_t*)0x20000088 = 0; *(uint64_t*)0x20000090 = 0x200bfff0; *(uint64_t*)0x200bfff0 = 0x20000b40; *(uint32_t*)0x20000b40 = 0x270; *(uint16_t*)0x20000b44 = 0x19; *(uint16_t*)0x20000b46 = 1; *(uint32_t*)0x20000b48 = 0; *(uint32_t*)0x20000b4c = 0; *(uint8_t*)0x20000b50 = -1; *(uint8_t*)0x20000b51 = 1; *(uint8_t*)0x20000b52 = 0; *(uint8_t*)0x20000b53 = 0; *(uint8_t*)0x20000b54 = 0; *(uint8_t*)0x20000b55 = 0; *(uint8_t*)0x20000b56 = 0; *(uint8_t*)0x20000b57 = 0; *(uint8_t*)0x20000b58 = 0; *(uint8_t*)0x20000b59 = 0; *(uint8_t*)0x20000b5a = 0; *(uint8_t*)0x20000b5b = 0; *(uint8_t*)0x20000b5c = 0; *(uint8_t*)0x20000b5d = 0; *(uint8_t*)0x20000b5e = 0; *(uint8_t*)0x20000b5f = 1; *(uint32_t*)0x20000b60 = htobe32(0xe0000001); *(uint16_t*)0x20000b70 = htobe16(0); *(uint16_t*)0x20000b72 = htobe16(0); *(uint16_t*)0x20000b74 = htobe16(0); *(uint16_t*)0x20000b76 = htobe16(0); *(uint16_t*)0x20000b78 = 0xa; *(uint8_t*)0x20000b7a = 0; *(uint8_t*)0x20000b7b = 0; *(uint8_t*)0x20000b7c = 0; *(uint32_t*)0x20000b80 = 0; *(uint32_t*)0x20000b84 = 0; *(uint64_t*)0x20000b88 = 0; *(uint64_t*)0x20000b90 = 0; *(uint64_t*)0x20000b98 = 0; *(uint64_t*)0x20000ba0 = 0; *(uint64_t*)0x20000ba8 = 0; *(uint64_t*)0x20000bb0 = 0; *(uint64_t*)0x20000bb8 = 0; *(uint64_t*)0x20000bc0 = 0; *(uint64_t*)0x20000bc8 = 0; *(uint64_t*)0x20000bd0 = 0; *(uint64_t*)0x20000bd8 = 0; *(uint64_t*)0x20000be0 = 0; *(uint32_t*)0x20000be8 = 0; *(uint32_t*)0x20000bec = 0; *(uint8_t*)0x20000bf0 = 0; *(uint8_t*)0x20000bf1 = 0; *(uint8_t*)0x20000bf2 = 0; *(uint8_t*)0x20000bf3 = 0; *(uint16_t*)0x20000bf8 = 0xc; *(uint16_t*)0x20000bfa = 0x15; *(uint32_t*)0x20000bfc = 0x350759; *(uint32_t*)0x20000c00 = 0; *(uint16_t*)0x20000c04 = 0x28; *(uint16_t*)0x20000c06 = 0x1a; *(uint32_t*)0x20000c08 = htobe32(-1); *(uint64_t*)0x20000c18 = htobe64(0); *(uint64_t*)0x20000c20 = htobe64(1); *(uint16_t*)0x20000c28 = 2; *(uint8_t*)0x20000c2a = 4; *(uint8_t*)0x20000c2b = 7; *(uint16_t*)0x20000c2c = 0xc; *(uint16_t*)0x20000c2e = 0x1c; *(uint32_t*)0x20000c30 = 0; *(uint8_t*)0x20000c34 = 1; *(uint16_t*)0x20000c38 = 0xe4; *(uint16_t*)0x20000c3a = 6; *(uint8_t*)0x20000c3c = 0xfe; *(uint8_t*)0x20000c3d = 0x80; *(uint8_t*)0x20000c3e = 0; *(uint8_t*)0x20000c3f = 0; *(uint8_t*)0x20000c40 = 0; *(uint8_t*)0x20000c41 = 0; *(uint8_t*)0x20000c42 = 0; *(uint8_t*)0x20000c43 = 0; *(uint8_t*)0x20000c44 = 0; *(uint8_t*)0x20000c45 = 0; *(uint8_t*)0x20000c46 = 0; *(uint8_t*)0x20000c47 = 0; *(uint8_t*)0x20000c48 = 0; *(uint8_t*)0x20000c49 = 0; *(uint8_t*)0x20000c4a = 0; *(uint8_t*)0x20000c4b = 0xaa; *(uint8_t*)0x20000c4c = 0xfe; *(uint8_t*)0x20000c4d = 0x80; *(uint8_t*)0x20000c4e = 0; *(uint8_t*)0x20000c4f = 0; *(uint8_t*)0x20000c50 = 0; *(uint8_t*)0x20000c51 = 0; *(uint8_t*)0x20000c52 = 0; *(uint8_t*)0x20000c53 = 0; *(uint8_t*)0x20000c54 = 0; *(uint8_t*)0x20000c55 = 0; *(uint8_t*)0x20000c56 = 0; *(uint8_t*)0x20000c57 = 0; *(uint8_t*)0x20000c58 = 0; *(uint8_t*)0x20000c59 = 0; *(uint8_t*)0x20000c5a = 0; *(uint8_t*)0x20000c5b = 0xbb; *(uint16_t*)0x20000c5c = htobe16(0x4e21); *(uint16_t*)0x20000c5e = htobe16(8); *(uint16_t*)0x20000c60 = htobe16(0x4e24); *(uint16_t*)0x20000c62 = htobe16(1); *(uint16_t*)0x20000c64 = 2; *(uint8_t*)0x20000c66 = 0xa0; *(uint8_t*)0x20000c67 = 0x20; *(uint8_t*)0x20000c68 = 0x3c; *(uint32_t*)0x20000c6c = 0; *(uint32_t*)0x20000c70 = 0; *(uint32_t*)0x20000c74 = htobe32(-1); *(uint32_t*)0x20000c84 = htobe32(0x4d2); *(uint8_t*)0x20000c88 = -1; *(uint32_t*)0x20000c8c = htobe32(0); *(uint64_t*)0x20000c9c = 9; *(uint64_t*)0x20000ca4 = 0x64; *(uint64_t*)0x20000cac = 0x8001; *(uint64_t*)0x20000cb4 = 0xb83; *(uint64_t*)0x20000cbc = 3; *(uint64_t*)0x20000cc4 = 6; *(uint64_t*)0x20000ccc = 0x25; *(uint64_t*)0x20000cd4 = 0; *(uint64_t*)0x20000cdc = 0x10000; *(uint64_t*)0x20000ce4 = 0x81; *(uint64_t*)0x20000cec = 0x1ff; *(uint64_t*)0x20000cf4 = 6; *(uint32_t*)0x20000cfc = 0xfffffffd; *(uint32_t*)0x20000d00 = 0; *(uint32_t*)0x20000d04 = 3; *(uint32_t*)0x20000d08 = 0x70bd2c; *(uint32_t*)0x20000d0c = 0x34ff; *(uint16_t*)0x20000d10 = 2; *(uint8_t*)0x20000d12 = 4; *(uint8_t*)0x20000d13 = 9; *(uint8_t*)0x20000d14 = 0; *(uint16_t*)0x20000d1c = 0x48; *(uint16_t*)0x20000d1e = 1; memcpy((void*)0x20000d20, "md4\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" "\000\000\000\000\000\000\000\000\000\000\000", 64); *(uint32_t*)0x20000d60 = 0; *(uint16_t*)0x20000d64 = 0x28; *(uint16_t*)0x20000d66 = 0x1a; *(uint8_t*)0x20000d68 = 0xfe; *(uint8_t*)0x20000d69 = 0x88; *(uint8_t*)0x20000d6a = 0; *(uint8_t*)0x20000d6b = 0; *(uint8_t*)0x20000d6c = 0; *(uint8_t*)0x20000d6d = 0; *(uint8_t*)0x20000d6e = 0; *(uint8_t*)0x20000d6f = 0; *(uint8_t*)0x20000d70 = 0; *(uint8_t*)0x20000d71 = 0; *(uint8_t*)0x20000d72 = 0; *(uint8_t*)0x20000d73 = 0; *(uint8_t*)0x20000d74 = 0; *(uint8_t*)0x20000d75 = 0; *(uint8_t*)0x20000d76 = 0; *(uint8_t*)0x20000d77 = 1; *(uint8_t*)0x20000d78 = 0xfe; *(uint8_t*)0x20000d79 = 0x80; *(uint8_t*)0x20000d7a = 0; *(uint8_t*)0x20000d7b = 0; *(uint8_t*)0x20000d7c = 0; *(uint8_t*)0x20000d7d = 0; *(uint8_t*)0x20000d7e = 0; *(uint8_t*)0x20000d7f = 0; *(uint8_t*)0x20000d80 = 0; *(uint8_t*)0x20000d81 = 0; *(uint8_t*)0x20000d82 = 0; *(uint8_t*)0x20000d83 = 0; *(uint8_t*)0x20000d84 = 0; *(uint8_t*)0x20000d85 = 0; *(uint8_t*)0x20000d86 = 0; *(uint8_t*)0x20000d87 = 0x15; *(uint16_t*)0x20000d88 = 0xa; *(uint8_t*)0x20000d8a = 7; *(uint8_t*)0x20000d8b = 0x81; *(uint16_t*)0x20000d8c = 0x24; *(uint16_t*)0x20000d8e = 9; *(uint64_t*)0x20000d90 = 0xffff; *(uint64_t*)0x20000d98 = 0x100; *(uint64_t*)0x20000da0 = 7; *(uint64_t*)0x20000da8 = 1; *(uint64_t*)0x200bfff8 = 0x270; *(uint64_t*)0x20000098 = 1; *(uint64_t*)0x200000a0 = 0; *(uint64_t*)0x200000a8 = 0; *(uint32_t*)0x200000b0 = 0; syscall(__NR_sendmsg, r[1], 0x20000080, 0); res = syscall(__NR_socket, 0x10, 3, 6); if (res != -1) r[2] = res; *(uint64_t*)0x20000080 = 0; *(uint32_t*)0x20000088 = 0; *(uint64_t*)0x20000090 = 0x200bfff0; *(uint64_t*)0x200bfff0 = 0x20000b40; *(uint32_t*)0x20000b40 = 0x24c; *(uint16_t*)0x20000b44 = 0x19; *(uint16_t*)0x20000b46 = 1; *(uint32_t*)0x20000b48 = 0; *(uint32_t*)0x20000b4c = 0; *(uint8_t*)0x20000b50 = -1; *(uint8_t*)0x20000b51 = 1; *(uint8_t*)0x20000b52 = 0; *(uint8_t*)0x20000b53 = 0; *(uint8_t*)0x20000b54 = 0; *(uint8_t*)0x20000b55 = 0; *(uint8_t*)0x20000b56 = 0; *(uint8_t*)0x20000b57 = 0; *(uint8_t*)0x20000b58 = 0; *(uint8_t*)0x20000b59 = 0; *(uint8_t*)0x20000b5a = 0; *(uint8_t*)0x20000b5b = 0; *(uint8_t*)0x20000b5c = 0; *(uint8_t*)0x20000b5d = 0; *(uint8_t*)0x20000b5e = 0; *(uint8_t*)0x20000b5f = 1; *(uint32_t*)0x20000b60 = htobe32(0xe0000001); *(uint16_t*)0x20000b70 = htobe16(0); *(uint16_t*)0x20000b72 = htobe16(0); *(uint16_t*)0x20000b74 = htobe16(0); *(uint16_t*)0x20000b76 = htobe16(0); *(uint16_t*)0x20000b78 = 0xa; *(uint8_t*)0x20000b7a = 0; *(uint8_t*)0x20000b7b = 0; *(uint8_t*)0x20000b7c = 0; *(uint32_t*)0x20000b80 = 0; *(uint32_t*)0x20000b84 = 0; *(uint64_t*)0x20000b88 = 0; *(uint64_t*)0x20000b90 = 0; *(uint64_t*)0x20000b98 = 0; *(uint64_t*)0x20000ba0 = 0; *(uint64_t*)0x20000ba8 = 0; *(uint64_t*)0x20000bb0 = 0; *(uint64_t*)0x20000bb8 = 0; *(uint64_t*)0x20000bc0 = 0; *(uint64_t*)0x20000bc8 = 0; *(uint64_t*)0x20000bd0 = 0; *(uint64_t*)0x20000bd8 = 0; *(uint64_t*)0x20000be0 = 0; *(uint32_t*)0x20000be8 = 1; *(uint32_t*)0x20000bec = 0; *(uint8_t*)0x20000bf0 = 0; *(uint8_t*)0x20000bf1 = 0; *(uint8_t*)0x20000bf2 = 0; *(uint8_t*)0x20000bf3 = 0; *(uint16_t*)0x20000bf8 = 0xc; *(uint16_t*)0x20000bfa = 0x15; *(uint32_t*)0x20000bfc = 0x350759; *(uint32_t*)0x20000c00 = 0; *(uint16_t*)0x20000c04 = 0x28; *(uint16_t*)0x20000c06 = 0x1a; *(uint32_t*)0x20000c08 = htobe32(-1); *(uint64_t*)0x20000c18 = htobe64(0); *(uint64_t*)0x20000c20 = htobe64(1); *(uint16_t*)0x20000c28 = 2; *(uint8_t*)0x20000c2a = 4; *(uint8_t*)0x20000c2b = 7; *(uint16_t*)0x20000c2c = 0xc; *(uint16_t*)0x20000c2e = 0x1c; *(uint32_t*)0x20000c30 = 0; *(uint8_t*)0x20000c34 = 1; *(uint16_t*)0x20000c38 = 0xe4; *(uint16_t*)0x20000c3a = 6; *(uint8_t*)0x20000c3c = 0xfe; *(uint8_t*)0x20000c3d = 0x80; *(uint8_t*)0x20000c3e = 0; *(uint8_t*)0x20000c3f = 0; *(uint8_t*)0x20000c40 = 0; *(uint8_t*)0x20000c41 = 0; *(uint8_t*)0x20000c42 = 0; *(uint8_t*)0x20000c43 = 0; *(uint8_t*)0x20000c44 = 0; *(uint8_t*)0x20000c45 = 0; *(uint8_t*)0x20000c46 = 0; *(uint8_t*)0x20000c47 = 0; *(uint8_t*)0x20000c48 = 0; *(uint8_t*)0x20000c49 = 0; *(uint8_t*)0x20000c4a = 0; *(uint8_t*)0x20000c4b = 0xaa; *(uint8_t*)0x20000c4c = 0xfe; *(uint8_t*)0x20000c4d = 0x80; *(uint8_t*)0x20000c4e = 0; *(uint8_t*)0x20000c4f = 0; *(uint8_t*)0x20000c50 = 0; *(uint8_t*)0x20000c51 = 0; *(uint8_t*)0x20000c52 = 0; *(uint8_t*)0x20000c53 = 0; *(uint8_t*)0x20000c54 = 0; *(uint8_t*)0x20000c55 = 0; *(uint8_t*)0x20000c56 = 0; *(uint8_t*)0x20000c57 = 0; *(uint8_t*)0x20000c58 = 0; *(uint8_t*)0x20000c59 = 0; *(uint8_t*)0x20000c5a = 0; *(uint8_t*)0x20000c5b = 0xbb; *(uint16_t*)0x20000c5c = htobe16(0x4e21); *(uint16_t*)0x20000c5e = htobe16(8); *(uint16_t*)0x20000c60 = htobe16(0x4e24); *(uint16_t*)0x20000c62 = htobe16(1); *(uint16_t*)0x20000c64 = 2; *(uint8_t*)0x20000c66 = 0xa0; *(uint8_t*)0x20000c67 = 0x20; *(uint8_t*)0x20000c68 = 0x3c; *(uint32_t*)0x20000c6c = 0; *(uint32_t*)0x20000c70 = 0; *(uint32_t*)0x20000c74 = htobe32(-1); *(uint32_t*)0x20000c84 = htobe32(0x4d2); *(uint8_t*)0x20000c88 = -1; *(uint32_t*)0x20000c8c = htobe32(0); *(uint64_t*)0x20000c9c = 9; *(uint64_t*)0x20000ca4 = 0x64; *(uint64_t*)0x20000cac = 0x8001; *(uint64_t*)0x20000cb4 = 0xb83; *(uint64_t*)0x20000cbc = 3; *(uint64_t*)0x20000cc4 = 6; *(uint64_t*)0x20000ccc = 0x25; *(uint64_t*)0x20000cd4 = 0; *(uint64_t*)0x20000cdc = 0x10000; *(uint64_t*)0x20000ce4 = 0x81; *(uint64_t*)0x20000cec = 0x1ff; *(uint64_t*)0x20000cf4 = 6; *(uint32_t*)0x20000cfc = 0xfffffffd; *(uint32_t*)0x20000d00 = 0; *(uint32_t*)0x20000d04 = 3; *(uint32_t*)0x20000d08 = 0x70bd2c; *(uint32_t*)0x20000d0c = 0x34ff; *(uint16_t*)0x20000d10 = 2; *(uint8_t*)0x20000d12 = 4; *(uint8_t*)0x20000d13 = 9; *(uint8_t*)0x20000d14 = 0; *(uint16_t*)0x20000d1c = 0x48; *(uint16_t*)0x20000d1e = 1; memcpy((void*)0x20000d20, "md4\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" "\000\000\000\000\000\000\000\000\000\000\000", 64); *(uint32_t*)0x20000d60 = 0; *(uint16_t*)0x20000d64 = 0x28; *(uint16_t*)0x20000d66 = 0x1a; *(uint8_t*)0x20000d68 = 0xfe; *(uint8_t*)0x20000d69 = 0x88; *(uint8_t*)0x20000d6a = 0; *(uint8_t*)0x20000d6b = 0; *(uint8_t*)0x20000d6c = 0; *(uint8_t*)0x20000d6d = 0; *(uint8_t*)0x20000d6e = 0; *(uint8_t*)0x20000d6f = 0; *(uint8_t*)0x20000d70 = 0; *(uint8_t*)0x20000d71 = 0; *(uint8_t*)0x20000d72 = 0; *(uint8_t*)0x20000d73 = 0; *(uint8_t*)0x20000d74 = 0; *(uint8_t*)0x20000d75 = 0; *(uint8_t*)0x20000d76 = 0; *(uint8_t*)0x20000d77 = 1; *(uint8_t*)0x20000d78 = 0xfe; *(uint8_t*)0x20000d79 = 0x80; *(uint8_t*)0x20000d7a = 0; *(uint8_t*)0x20000d7b = 0; *(uint8_t*)0x20000d7c = 0; *(uint8_t*)0x20000d7d = 0; *(uint8_t*)0x20000d7e = 0; *(uint8_t*)0x20000d7f = 0; *(uint8_t*)0x20000d80 = 0; *(uint8_t*)0x20000d81 = 0; *(uint8_t*)0x20000d82 = 0; *(uint8_t*)0x20000d83 = 0; *(uint8_t*)0x20000d84 = 0; *(uint8_t*)0x20000d85 = 0; *(uint8_t*)0x20000d86 = 0; *(uint8_t*)0x20000d87 = 0x15; *(uint16_t*)0x20000d88 = 0xa; *(uint8_t*)0x20000d8a = 7; *(uint8_t*)0x20000d8b = 0x81; *(uint64_t*)0x200bfff8 = 0x24c; *(uint64_t*)0x20000098 = 1; *(uint64_t*)0x200000a0 = 0; *(uint64_t*)0x200000a8 = 0; *(uint32_t*)0x200000b0 = 0; syscall(__NR_sendmsg, r[2], 0x20000080, 0); } int main(void) { syscall(__NR_mmap, 0x20000000, 0x1000000, 3, 0x32, -1, 0); loop(); return 0; }