// https://syzkaller.appspot.com/bug?id=fb071b198e21a01e4836057b554a1962510acda3 // autogenerated by syzkaller (https://github.com/google/syzkaller) #define _GNU_SOURCE #include #include #include #include #include #include #include #include #define BITMASK(bf_off, bf_len) (((1ull << (bf_len)) - 1) << (bf_off)) #define STORE_BY_BITMASK(type, htobe, addr, val, bf_off, bf_len) \ *(type*)(addr) = \ htobe((htobe(*(type*)(addr)) & ~BITMASK((bf_off), (bf_len))) | \ (((type)(val) << (bf_off)) & BITMASK((bf_off), (bf_len)))) uint64_t r[3] = {0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff}; int main(void) { syscall(__NR_mmap, 0x20000000ul, 0x1000000ul, 3ul, 0x32ul, -1, 0); intptr_t res = 0; res = syscall(__NR_socket, 0x10ul, 3ul, 0xcul); if (res != -1) r[0] = res; *(uint64_t*)0x20000280 = 0; *(uint32_t*)0x20000288 = 8; *(uint64_t*)0x20000290 = 0x20000240; *(uint64_t*)0x20000240 = 0x20000100; memcpy((void*)0x20000100, "\x14\x00\x00\x00\x10\x00\x00\x00\x1e\x6c\x00\x00\x00\x08\x00\x00\x00" "\x00\x00\x0a\x20\x00\x00\x00\x00\x0a\x01\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x09\x00\x01\x00\x73\x79\x7a\x30\x00\x00\x00" "\x00\x38\x00\x00\x00\x12\x0a\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x04\x00\x04\x80\x09\x00\x02\x00\x00\x39\x7d\x00\x00" "\x00\x00\x00\x09\x00\x01\x00\x73\x79\x7a\x30\x00\x00\x00\x00\x08\x00" "\x03\x40\x00\x00\x00\x01\x14\x00\x00\x00\x11\x00\xdf\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x0a", 128); *(uint64_t*)0x20000248 = 0x80; *(uint64_t*)0x20000298 = 1; *(uint64_t*)0x200002a0 = 0; *(uint64_t*)0x200002a8 = 0; *(uint32_t*)0x200002b0 = 0; syscall(__NR_sendmsg, r[0], 0x20000280ul, 0ul); res = syscall(__NR_socket, 0x10ul, 3ul, 0xcul); if (res != -1) r[1] = res; *(uint64_t*)0x20009bc0 = 0; *(uint32_t*)0x20009bc8 = 0; *(uint64_t*)0x20009bd0 = 0x20009b80; *(uint64_t*)0x20009b80 = 0x20003b00; *(uint32_t*)0x20003b00 = 0x14; *(uint16_t*)0x20003b04 = 0x10; *(uint16_t*)0x20003b06 = 1; *(uint32_t*)0x20003b08 = 0; *(uint32_t*)0x20003b0c = 0; *(uint8_t*)0x20003b10 = 0; *(uint8_t*)0x20003b11 = 0; *(uint16_t*)0x20003b12 = htobe16(0xa); *(uint32_t*)0x20003b14 = 0x3c; *(uint8_t*)0x20003b18 = 3; *(uint8_t*)0x20003b19 = 0xa; *(uint16_t*)0x20003b1a = 0x401; *(uint32_t*)0x20003b1c = 0; *(uint32_t*)0x20003b20 = 0; *(uint8_t*)0x20003b24 = 0; *(uint8_t*)0x20003b25 = 0; *(uint16_t*)0x20003b26 = htobe16(0); *(uint16_t*)0x20003b28 = 8; *(uint16_t*)0x20003b2a = 7; memcpy((void*)0x20003b2c, "nat\000", 4); *(uint16_t*)0x20003b30 = 9; *(uint16_t*)0x20003b32 = 1; memcpy((void*)0x20003b34, "syz0\000", 5); *(uint16_t*)0x20003b3c = 4; STORE_BY_BITMASK(uint16_t, , 0x20003b3e, 8, 0, 14); STORE_BY_BITMASK(uint16_t, , 0x20003b3f, 0, 6, 1); STORE_BY_BITMASK(uint16_t, , 0x20003b3f, 1, 7, 1); *(uint16_t*)0x20003b40 = 9; *(uint16_t*)0x20003b42 = 3; memcpy((void*)0x20003b44, "syz0\000", 5); *(uint16_t*)0x20003b4c = 4; STORE_BY_BITMASK(uint16_t, , 0x20003b4e, 8, 0, 14); STORE_BY_BITMASK(uint16_t, , 0x20003b4f, 0, 6, 1); STORE_BY_BITMASK(uint16_t, , 0x20003b4f, 1, 7, 1); *(uint32_t*)0x20003b50 = 0x14; *(uint16_t*)0x20003b54 = 0x11; *(uint16_t*)0x20003b56 = 1; *(uint32_t*)0x20003b58 = 0; *(uint32_t*)0x20003b5c = 0; *(uint8_t*)0x20003b60 = 0; *(uint8_t*)0x20003b61 = 0; *(uint16_t*)0x20003b62 = htobe16(0xa); *(uint64_t*)0x20009b88 = 0x64; *(uint64_t*)0x20009bd8 = 1; *(uint64_t*)0x20009be0 = 0; *(uint64_t*)0x20009be8 = 0; *(uint32_t*)0x20009bf0 = 0; syscall(__NR_sendmsg, r[1], 0x20009bc0ul, 0ul); res = syscall(__NR_socket, 0x10ul, 3ul, 0xcul); if (res != -1) r[2] = res; *(uint64_t*)0x20000240 = 0; *(uint32_t*)0x20000248 = 0; *(uint64_t*)0x20000250 = 0x20000200; *(uint64_t*)0x20000200 = 0x20000280; memcpy( (void*)0x20000280, "\x14\x00\x00\x00\x10\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x0a\x18\x05\x00\x00\x06\x0a\x01\x04\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x09\x00\x02\x00\x73\x79\x7a\x30\x00\x00\x00\x00\x09\x00" "\x01\x00\x73\x79\x7a\x30\x00\x00\x00\x00\xec\x04\x04\x80\xe8\x04\x01\x80" "\x92\x00\x01\x00\x63\x6d\x70\x00\xdc\x04\x02\x80\xd8\x04\x03\x80\x11\x00" "\x01\x00\xa0\x3b\xee\xc5\xab\x1e\xaf\xc6\x76\x42\x24\xe3\xf1\x00\x00\x00" "\x40\x00\x01\x00\xd4\x74\x9c\x14\x6f\xe5\x6c\xe1\x20\xed\x01\x25\x8e\x7a" "\x3d\xbe\x6e\x8a\x56\xfc\x6b\x33\xf4\xb7\x92\x86\xe9\x35\x07\xa2\x41\x16" "\x9f\xa3\xc9\xd3\xb9\xc9\x88\x54\x8b\x4f\x3b\xd3\xbd\xce\x6b\x70\xb9\x6c" "\x2a\x8a\x22\x9c\x02\x83\xf3\x9a\x78\x0d\x6c\x00\x02\x80\x09\x00\x02\x00" "\x73\x79\x7a\x32\x00\x00\x00\x00\x09\x00\x02\x00\x73\x79\x7a\x31\x00\x00" "\x00\x00\x09\x00\x02\x00\x73\x79\x7a\x31\x00\x00\x00\x00\x08\x00\x01\x80" "\xff\xff\xff\xff\x08\x00\x01\x80\xff\xff\xff\xf6\x09\x00\x02\x00\x73\x79" "\x7a\x32\x00\x00\x00\x00\x09\x00\x02\x00\x73\x79\x7a\x31\x00\x00\x00\x00" "\x08\x00\x01\x80\xff\xff\xff\xfd\x09\x00\x02\x00\x73\x79\x7a\x30\x00\x00" "\x00\x00\x08\x00\x01\x80\xff\xff\xff\xfd\x50\x00\x02\x80\x08\x00\x01\x80" "\xff\xff\xff\xfe\x08\x00\x01\x80\xff\xff\xff\xfc\x08\x00\x01\x80\xff\xff" "\xff\xfe\x09\x00\x02\x00\x73\x79\x7a\x32\x00\x00\x00\x00\x08\x00\x01\x80" "\xff\xff\xff\xfc\x08\x00\x01\x80\xff\xff\xff\xfc\x08\x00\x01\x80\xff\xff" "\xff\xfb\x08\x00\x01\x80\xff\xff\xff\xff\x08\x00\x01\x80\xff\xff\xff\xfd" "\xca\x00\x01\x00\x9d\xfc\xd6\x4c\x4d\x4d\x52\xf6\x7e\xab\x1e\xff\x2a\x9f" "\x7b\x7f\xac\x8f\xfc\x46\xfe\x9e\x17\x83\xb5\x0b\x0b\x44\x63\xe2\x06\xba" "\x48\x8f\x63\x16\x28\x16\x9b\xdd\x3f\x56\x1c\xaa\x38\xdc\x3f\xb6\x28\x74" "\x18\x28\x73\x4b\x8a\x6c\x3a\x17\xdc\xae\xfd\x0d\x4c\x56\xd7\x9f\x4d\xcb" "\x1d\xd1\x6f\x03\x86\x3d\xf5\x96\x0c\xb2\x0c\x86\x3d\xdc\xa7\x10\x6e\xc0" "\xed\xfa\xc2\xc2\xe5\xd7\x5a\x49\xe6\x74\x7a\xf1\x82\xe1\x0a\x09\x18\xde" "\x6a\x6b\x16\x1d\xb8\xb9\xf7\xb0\xe4\x03\x37\x51\x9b\x11\x6a\xcd\x8a\xbb" "\x12\x0e\x70\x95\x30\x1f\xf6\x9e\x9a\xd4\x12\xf3\x9b\x2d\xa3\x0b\xf3\x4f" "\x92\xdf\x24\x76\x75\x98\x13\x5c\xee\x4f\xd3\x94\xb9\x38\x9b\x81\x2c\x40" "\xf1\x94\xe6\xb2\x5c\x6e\x0a\x83\xfe\xb6\x45\x43\x32\xe2\x28\x36\x62\xe3" "\xf3\xe1\x90\xf8\xf1\xee\xa8\xa4\xd9\xa1\x0a\xcb\x4d\x68\x24\x2c\x46\x5f" "\x69\x3d\x91\xad\xbe\x00\x00\x54\x00\x02\x80\x08\x00\x01\x80\x00\x00\x00" "\x00\x08\x00\x01\x80\x89\x60\x53\xcd\x09\x00\x02\x00\x73\x79\x7a\x30\x00" "\x00\x00\x00\x09\x00\x02\x00\x73\x79\x7a\x30\x00\x00\x00\x00\x08\x00\x01" "\x80\xff\xff\xff\xfe\x09\x00\x02\x00\x73\x79\x7a\x30\x00\x00\x00\x00\x08" "\x00\x01\x80\x22\x1e\xf5\xdc\x09\x00\x02\x00\x73\x79\x7a\x30\x00\x00\x00" "\x00\x48\x00\x02\x80\x09\x00\x02\x00\x73\x79\x7a\x30\x00\x00\x00\x00\x09" "\x00\x02\x00\x73\x79\x7a\x30\x00\x00\x00\x00\x08\x00\x01\x80\xff\xff\xff" "\xfe\x08\x00\x02\x00\x00\xff\xff\xfc\x09\x00\x02\x00\x73\x79\x7a\x32\x00" "\x00\x00\x00\x08\x00\x01\x80\x00\x00\x00\x00\x08\x00\x01\x80\x00\x00\x00" "\x00\x78\x01\x01\x00\x0b\x5c\x35\xc8\x6c\x0b\xc4\x0d\x2b\x12\x02\xa7\xb4" "\x07\x79\xcd\xe9\x4f\x38\xfb\x12\x01\xf5\x4f\x14\x42\x60\xf6\x52\xf5\x91" "\x67\x7d\x84\xbe\xee\xe1\xfa\xd9\xf0\x16\xf5\xdb\xa2\x0e\xe8\xc3\xe7\x73" "\x51\x98\x08\x55\xff\xd0\xee\xed\x14\xfe\xc0\xab\x64\x54\xa0\x1e\xc0\xf9" "\xd0\x97\x34\xad\xd6\xf1\x1a\x23\x65\xe7\x1d\xc5\x8e\xcf\xdc\xdc\x05\xea" "\x8c\x20\x28\xbc\x70\x15\x77\x8e\xc7\x1b\xb0\x13\xf6\x25\x03\x79\x3a\x67" "\xba\xc4\xf6\x45\x52\x27\x7e\x89\xb2\x9c\x36\xed\xe3\xd5\x07\xff\x09\x5a" "\x73\xb5\xdc\xbc\x18\x0a\x27\x7b\xee\x21\xf7\x34\x74\x38\xa7\x22\x20\x85" "\xe7\x1a\xac\xb9\x66\x8d\xaa\x4f\x03\x87\x2b\xd6\x25\x67\x55\x38\x40\x57" "\xd4\x85\xf6\x85\x37\xb2\xf6\x02\xd6\x38\x93\xeb\xa0\x49\x02\xd0\x26\xc0" "\x27\xf9\x72\xfb\xa7\xa6\x36\xbc\x4f\x4e\xc3\xcb\x77\xdb\x05\xa5\x66\x3a" "\x1a\x21\x01\xed\x0a\xe8\x76\xbb\x21\x02\x2d\xf5\xb1\xb6\xb8\x19\xe7\x1a" "\xa0\x80\x48\x25\xed\x4f\x56\x2e\x15\xbd\xc6\xab\xab\x82\xe9\x9c\x37\x2a" "\xfb\x97\x45\x78\x85\x96\x33\x0f\xe5\x73\x29\xe3\x8a\xa8\xda\x6e\x2f\x02" "\xf0\x6f\x09\xc0\xf0\x75\x94\x92\x21\xb1\xc4\x72\x97\x68\x8f\xf2\x31\x15" "\xd9\x02\xd6\xc7\x40\x7b\xd3\xc4\xaf\x3b\x0c\x4c\xb5\x88\x88\x5d\x21\x25" "\xb3\x91\x12\x98\xf1\x55\x12\xc8\x4c\x07\xa4\x5c\x2c\x32\xa1\xe9\x56\x6f" "\x66\xdf\x0a\x31\x50\xf6\xa9\xf6\x90\xb5\x09\xdc\x13\x3f\x47\xb2\x7b\xee" "\x5e\xc2\xe4\xd7\xe7\x6d\x78\xe9\x26\x23\xa9\x83\x8b\x66\x80\xc4\x90\x97" "\x3e\x66\x76\xdd\x46\x04\xd4\x8d\x5b\x0d\xc3\x6b\xbb\xbe\x18\x96\xe7\x4d" "\xe3\x5a\x97\x19\xcc\xe3\xc3\xc5\xd9\x3c\x34\xd1\xd8\x35\xbb\x65\xcc\xe1" "\x00\x01\x00\x2e\x56\x2b\x5c\x28\x8e\xa9\xd2\x7b\x17\x78\x5a\x8b\x0a\x77" "\xb3\x1a\x26\x21\x80\xdb\x12\x8c\xcc\x1a\xf4\xb9\x58\x92\xcd\xc3\x42\x5d" "\xf9\x03\x06\xa5\x19\x65\xa9\x89\xce\x05\x2c\xd9\x77\x10\xd9\xf6\xa3\xd5" "\xe1\x82\x14\x9e\x80\x84\xdc\xea\xe5\x63\x36\x12\x79\xa4\x3c\xcb\xf2\x01" "\x4e\xa6\x72\x2e\xa5\xff\x99\x0f\xd8\x41\x9c\x61\x95\x56\x75\xfe\x14\x90" "\x91\x1d\x00\x3d\x9b\x70\xf7\x1f\xee\xb4\x0d\x5e\x57\x19\xf4\x08\x4a\x56" "\x58\x53\x51\xe4\x63\xe6\x17\x04\xb0\xdc\x00\x01\x81\xff\xd8\xfb\xff\xaf" "\xf9\x0b\x6b\xd5\x4a\x3c\xa5\x8f\xa0\xfe\xf9\x74\x8c\xdd\x29\x32\xdc\x89" "\xd9\xec\x45\x8e\xe0\x18\xfd\xcc\xbc\xb1\x26\xca\xcd\xc2\x5c\xca\x4f\xd7" "\x66\xe5\x7d\x48\x73\xd5\xdb\xfd\x2b\xc3\x21\xdc\x34\xb6\x79\x26\x5d\x30" "\x97\x67\x1d\x07\x4c\x0b\x9b\x8e\xfe\xaf\xed\x5e\xaa\x06\x77\xcd\x74\xd8" "\xb2\x37\x01\x2f\x68\xc9\xa5\x58\x9d\xc1\xbb\x5a\xfa\x0d\x47\xe7\x0a\x98" "\x80\x9f\x96\x66\x45\xeb\x89\x12\x00\x00\x00\x14\x00\x00\x00\x11\x00\x01" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0a\x85\xd5\xae\x25\xb2" "\x98\x60\xd2\x85\x33\x93\x50\x0a\x79\xc9\x80\x06\x27\x65\x1a\x97\xd1\x8d" "\x10\x01\x91\x1d\x4f\x83\x1b\x7f\x92\xe8\x04\x72\x33\xec\xef\xc2\x20\x0c" "\x88\x69\x67\x93\x74\x31\xf1\x41\x1b\x6f\x69\x1d\x22\xc4\x8f\xd6\x37\xde" "\x4c\x93\xc5\x2e\xa2\x03\xc5\xcc\x47\xfb\x87\x31\x07\x31\x56\xab\x63\x40" "\x64\x06\x45\x55\x6a\x45\xa8\x49\x18\xc4\xfa\x8b\x17\x59\x63\xba\x75\x6e" "\xa0\x22\xdd\xd2\x5f\x87\x67\x75\x45\xc0\x56\xe1\x27\x6e\xb7\x76\x93\x45" "\x98\x8c\xf6\xff\x02\xd3\xce\x83\x69\xf4\xa8\x30\x32\x08\xff\xae\xb9\x62" "\xb1\xfa\x71\x57\xbe\x4c\x77\x18\x29\xd1\xa2\x41\xd5\xf7\x07\xf8\x8b\x45" "\x48\xb2\xa0\x20\xdd\xda\xee\x13\x91\x4f\xd0\xac\x78\x88\xb8\x40\xf8\xd4" "\x69\x8d\xe1\x3b\x58\x5f\x5b\xa3\x55\x12\x38\xf8\xa9\xce\xf1\xd0\x92\x3b" "\x23\x19\xd6\x5c\xe6\xc0\x3f\x11\x69\xc4\x72\x4c\x0c", 1543); *(uint64_t*)0x20000208 = 0x540; *(uint64_t*)0x20000258 = 1; *(uint64_t*)0x20000260 = 0; *(uint64_t*)0x20000268 = 0; *(uint32_t*)0x20000270 = 0; syscall(__NR_sendmsg, r[2], 0x20000240ul, 0ul); return 0; }