// https://syzkaller.appspot.com/bug?id=77d71b927fdbb036e6c8c044b1c7bccc9b8db877 // autogenerated by syzkaller (http://github.com/google/syzkaller) #define _GNU_SOURCE #include #include #include #include static void execute_one(); void loop() { while (1) { execute_one(); } } uint64_t r[1] = {0xffffffffffffffff}; void execute_one() { long res = 0; memcpy((void*)0x200004c0, "/prof/kpctl", 12); res = syscall(SYS_openat, 0xffffffffffffff9c, 0x200004c0, 0xc, 3, 0); if (res != -1) r[0] = res; syscall(SYS_fcntl, -1, 0, -1, 1); syscall(SYS_fd2path, -1, 0x20000580, 0x29); memcpy((void*)0x200005c0, "/net/ether0/addr", 17); syscall(SYS_openat, 0xffffffffffffff9c, 0x200005c0, 0x11, 3, 0); syscall(SYS_fcntl, r[0], 0x65); memcpy((void*)0x200006c0, "/dev/sysctl", 12); syscall(SYS_openat, 0xffffffffffffff9c, 0x200006c0, 0xc, 3, 0); } int main() { syscall(SYS_mmap, 0x20000000, 0x1000000, 3, 0x32, -1, 0); for (;;) { loop(); } }