| // KASAN: global-out-of-bounds Read in get_unique_tuple |
| // https://syzkaller.appspot.com/bug?id=63892f019d0b2f755faac44c37a7fda330cf4050 |
| // status:open |
| // autogenerated by syzkaller (https://github.com/google/syzkaller) |
| |
| #define _GNU_SOURCE |
| |
| #include <endian.h> |
| #include <stdint.h> |
| #include <stdio.h> |
| #include <stdlib.h> |
| #include <string.h> |
| #include <sys/syscall.h> |
| #include <sys/types.h> |
| #include <unistd.h> |
| |
| uint64_t r[1] = {0xffffffffffffffff}; |
| |
| int main(void) |
| { |
| syscall(__NR_mmap, 0x20000000ul, 0x1000000ul, 3ul, 0x32ul, -1, 0); |
| intptr_t res = 0; |
| *(uint64_t*)0x20000280 = 0; |
| *(uint32_t*)0x20000288 = 0; |
| *(uint64_t*)0x20000290 = 0x20000240; |
| *(uint64_t*)0x20000240 = 0x20000680; |
| memcpy((void*)0x20000680, |
| "\x70\x00\x00\x00\x00\x01\x19\x05\x03\x01\x02\xf7\xb1\xf8\x10\x52\xa1" |
| "\xe6\x00\x00\x24\x00\x01\x00\x14\x00\x01\x00\x08\x00\x01\x00\xff\xff" |
| "\xff\xff\x08\x00\x02\x00\xac\x1e\x00\x01\x0c\x00\x02\x00\x05\x00\x01" |
| "\x00\x00\x00\x00\x00\x24\x00\x02\x00\x0c\x00\x02\x00\x05\x00\x01\x00" |
| "\x00\x00\x00\x00\x14\x00\x01\x00\x08\x00\x01\x00\xe0\x00\x00\x02\x08" |
| "\x00\x02\x00\x00\x00\x00\x00\x08\x00\x07\x00\x00\x00\x00\x00\x0c\x00" |
| "\x06\x00\x08\x00\x01\x00\x7f\x00\x00\x01\x52\x41\xd9\x92\x8a\x46\x72" |
| "\xb0\xc2\x0b\x3a\xca\xeb\xcf\x3e\x6d\xf1\x0d\xe3\xe4\x1b\x31\x76\x36" |
| "\xdc\x46\xe4\x7f\x0a\x3f\x1c\xd4\xce\x77\xc7\x6e\x72\xfc\x1d\xdf\x1e" |
| "\x3f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbe" |
| "\x09\x02\x48\xe4\xab\x74\x76\x4b\x11\x08\xe1\xe5\xc2\xb8\x39\xef\x2f" |
| "\x56\xd5\x76\x0f\x63\x85\x41\x4f\xfa\x7e\xd2\xed\xc8\x46\x94\x6b\x78" |
| "\x3a\x01\xe1\x48\xd7\x41\x82\x40\x51\xa6\xbe\x4f\x9e\x36\x7a\xad\xd8" |
| "\x61\xca\xf9\x2b\xd7\xa0\x90\x77\x71\xb9\x66\x6d\x5e\x78\x91\xe1\xc4" |
| "\x6f\xb9\x17\x64\x38\xae\x53\x0e\x52\x20\x64\x74\x59\x51\x61\x31\x66" |
| "\xcf\xcd\x8b\xf4\x36\x6c\x0a\x7f\xdd\x6a", |
| 265); |
| *(uint64_t*)0x20000248 = 0x70; |
| *(uint64_t*)0x20000298 = 1; |
| *(uint64_t*)0x200002a0 = 0; |
| *(uint64_t*)0x200002a8 = 0; |
| *(uint32_t*)0x200002b0 = 0; |
| syscall(__NR_sendmsg, -1, 0x20000280ul, 0ul); |
| res = syscall(__NR_socket, 0x10ul, 3ul, 0xcul); |
| if (res != -1) |
| r[0] = res; |
| *(uint64_t*)0x20000640 = 0; |
| *(uint32_t*)0x20000648 = 0; |
| *(uint64_t*)0x20000650 = 0x20000200; |
| *(uint64_t*)0x20000200 = 0; |
| *(uint64_t*)0x20000208 = 0; |
| *(uint64_t*)0x20000658 = 8; |
| *(uint64_t*)0x20000660 = 0; |
| *(uint64_t*)0x20000668 = 0; |
| *(uint32_t*)0x20000670 = 0; |
| syscall(__NR_sendmsg, r[0], 0x20000640ul, 0ul); |
| return 0; |
| } |