// https://syzkaller.appspot.com/bug?id=40abc1f181d9c0f680a6f31245098d4314e162e8 // autogenerated by syzkaller (https://github.com/google/syzkaller) #define _GNU_SOURCE #include #include #include #include #include #include #include #include uint64_t r[5] = {0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff}; int main(void) { syscall(__NR_mmap, 0x1ffff000ul, 0x1000ul, 0ul, 0x32ul, -1, 0ul); syscall(__NR_mmap, 0x20000000ul, 0x1000000ul, 7ul, 0x32ul, -1, 0ul); syscall(__NR_mmap, 0x21000000ul, 0x1000ul, 0ul, 0x32ul, -1, 0ul); intptr_t res = 0; res = syscall(__NR_socket, 0x11ul, 2ul, 0x300); if (res != -1) r[0] = res; memcpy((void*)0x20000180, "bond0\000\000\000\000\000\000\000\000\000\000\000", 16); res = syscall(__NR_ioctl, r[0], 0x8933, 0x20000180ul); if (res != -1) r[1] = *(uint32_t*)0x20000190; *(uint16_t*)0x20000100 = 0x11; *(uint16_t*)0x20000102 = htobe16(0); *(uint32_t*)0x20000104 = r[1]; *(uint16_t*)0x20000108 = 1; *(uint8_t*)0x2000010a = 0x80; *(uint8_t*)0x2000010b = 6; *(uint8_t*)0x2000010c = 1; *(uint8_t*)0x2000010d = 0x80; *(uint8_t*)0x2000010e = 0xc2; *(uint8_t*)0x2000010f = 0; *(uint8_t*)0x20000110 = 0; *(uint8_t*)0x20000111 = 1; memset((void*)0x20000112, 0, 2); syscall(__NR_bind, -1, 0x20000100ul, 0x14ul); res = syscall(__NR_socket, 0x10ul, 3ul, 0); if (res != -1) r[2] = res; res = syscall(__NR_socket, 1ul, 0x803ul, 0); if (res != -1) r[3] = res; *(uint32_t*)0x200002c0 = 0x14; res = syscall(__NR_getsockname, r[3], 0x20000100ul, 0x200002c0ul); if (res != -1) r[4] = *(uint32_t*)0x20000104; *(uint64_t*)0x20000300 = 0; *(uint32_t*)0x20000308 = 0; *(uint64_t*)0x20000310 = 0x20000000; *(uint64_t*)0x20000000 = 0x20000200; memcpy((void*)0x20000200, "\x54\x00\x00\x00\x10\x00\x01\x04\x00\x48\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00", 20); *(uint32_t*)0x20000214 = 0; memcpy((void*)0x20000218, "\x00\x00\x00\x00\x02\x00\x00\x00\x24\x00\x12\x80\x0c\x00\x01\x00\x6d" "\x61\x63\x76\x6c\x61\x6e\x00\x14\x00\x02\x80\x08\x00\x01\x00\x08\x00" "\x00\x00\x06\x00\x02\x00\x01\x00\x00\x00\x08\x00\x05\x00", 48); *(uint32_t*)0x20000248 = r[1]; memcpy((void*)0x2000024c, "\b\000\n\000", 4); *(uint32_t*)0x20000250 = r[4]; *(uint64_t*)0x20000008 = 0x54; *(uint64_t*)0x20000318 = 1; *(uint64_t*)0x20000320 = 0; *(uint64_t*)0x20000328 = 0; *(uint32_t*)0x20000330 = 0; syscall(__NR_sendmsg, r[2], 0x20000300ul, 0ul); return 0; }