// https://syzkaller.appspot.com/bug?id=cc89e47f05e4eea2fd69bcccb5e837f8d1ab4d60 // autogenerated by syzkaller (https://github.com/google/syzkaller) #define _GNU_SOURCE #include #include #include #include #include #include #include #include #include #include #include static void sandbox_common() { if (setsid() == -1) exit(1); struct rlimit rlim; rlim.rlim_cur = rlim.rlim_max = 8 << 20; setrlimit(RLIMIT_MEMLOCK, &rlim); rlim.rlim_cur = rlim.rlim_max = 1 << 20; setrlimit(RLIMIT_FSIZE, &rlim); rlim.rlim_cur = rlim.rlim_max = 1 << 20; setrlimit(RLIMIT_STACK, &rlim); rlim.rlim_cur = rlim.rlim_max = 0; setrlimit(RLIMIT_CORE, &rlim); rlim.rlim_cur = rlim.rlim_max = 256; setrlimit(RLIMIT_NOFILE, &rlim); } static void loop(); static int do_sandbox_none(void) { sandbox_common(); loop(); return 0; } #ifndef SYS_mlockall #define SYS_mlockall 242 #endif #ifndef SYS_mmap #define SYS_mmap 197 #endif #ifndef SYS_mprotect #define SYS_mprotect 74 #endif void loop(void) { syscall(SYS_mlockall, 3); syscall(SYS_mprotect, 0x20ffb000, 0x4000, 0); syscall(SYS_mprotect, 0x20ffb000, 0x2000, 1); syscall(SYS_mprotect, 0x20ffa000, 0x4000, 2); } int main(void) { syscall(SYS_mmap, 0x20000000, 0x1000000, 3, 0x1012, -1, 0, 0); do_sandbox_none(); return 0; }