// https://syzkaller.appspot.com/bug?id=76e1ca0ed8893fcd1c960eb2d322809b83c90ac7 // autogenerated by syzkaller (http://github.com/google/syzkaller) #define _GNU_SOURCE #include #include #include #include #include #ifndef __NR_mmap #define __NR_mmap 192 #endif #ifndef __NR_openat #define __NR_openat 295 #endif #ifndef __NR_sendmsg #define __NR_sendmsg 370 #endif #ifndef __NR_ioctl #define __NR_ioctl 54 #endif #undef __NR_mmap #define __NR_mmap __NR_mmap2 long r[1]; void loop() { memset(r, -1, sizeof(r)); syscall(__NR_mmap, 0x20000000, 0xfff000, 3, 0x32, -1, 0); memcpy((void*)0x20000000, "/dev/ion", 9); r[0] = syscall(__NR_openat, 0xffffff9c, 0x20000000, 0, 0); *(uint32_t*)0x20001fc8 = 0x20000000; *(uint32_t*)0x20001fcc = 0; *(uint32_t*)0x20001fd0 = 0x20003000; *(uint32_t*)0x20001fd4 = 0; *(uint32_t*)0x20001fd8 = 0x20002000; *(uint32_t*)0x20001fdc = 0x10; *(uint32_t*)0x20001fe0 = 0; *(uint32_t*)0x20002000 = 0x10; *(uint32_t*)0x20002004 = 0x10e; *(uint32_t*)0x20002008 = 0; syscall(__NR_sendmsg, -1, 0x20001fc8, 0); syscall(__NR_ioctl, r[0], 0xc0184908, 0x20002000); } int main() { loop(); return 0; }