| // WARNING in bpf_check (2) |
| // https://syzkaller.appspot.com/bug?id=0ec05481e31f2772a2c6f16aecb38f48467da26e |
| // status:fixed |
| // 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> |
| |
| #ifndef __NR_bpf |
| #define __NR_bpf 321 |
| #endif |
| |
| int main(void) |
| { |
| syscall(__NR_mmap, 0x20000000, 0x1000000, 3, 0x32, -1, 0); |
| |
| *(uint32_t*)0x20000000 = 1; |
| *(uint32_t*)0x20000004 = 0xa; |
| *(uint64_t*)0x20000008 = 0x20001000; |
| memcpy((void*)0x20001000, |
| "\xbf\x16\x00\x00\x00\x00\x00\x00\x85\x10\x00\x00\x05\x00\x00\x00\x6d" |
| "\x00\x00\x00\x00\x00\x00\x00\xbf\x61\x00\x00\x00\x00\x00\x00\x85\x10" |
| "\x00\x00\x02\x00\x00\x00\xbf\x01\x00\x00\x00\x00\x00\x00\x95\x00\x00" |
| "\x00\x00\x00\x00\x00\x71\x19\x00\x00\x00\x00\x00\x00\xb7\x00\x00\x00" |
| "\x00\x00\x00\x00\x95\x00\x00\x00\x00\x00\x00\x00", |
| 80); |
| *(uint64_t*)0x20000010 = 0x20000100; |
| memcpy((void*)0x20000100, "GPL", 4); |
| *(uint32_t*)0x20000018 = 0; |
| *(uint32_t*)0x2000001c = 0; |
| *(uint64_t*)0x20000020 = 0; |
| *(uint32_t*)0x20000028 = 0; |
| *(uint32_t*)0x2000002c = 0; |
| *(uint8_t*)0x20000030 = 0; |
| *(uint8_t*)0x20000031 = 0; |
| *(uint8_t*)0x20000032 = 0; |
| *(uint8_t*)0x20000033 = 0; |
| *(uint8_t*)0x20000034 = 0; |
| *(uint8_t*)0x20000035 = 0; |
| *(uint8_t*)0x20000036 = 0; |
| *(uint8_t*)0x20000037 = 0; |
| *(uint8_t*)0x20000038 = 0; |
| *(uint8_t*)0x20000039 = 0; |
| *(uint8_t*)0x2000003a = 0; |
| *(uint8_t*)0x2000003b = 0; |
| *(uint8_t*)0x2000003c = 0; |
| *(uint8_t*)0x2000003d = 0; |
| *(uint8_t*)0x2000003e = 0; |
| *(uint8_t*)0x2000003f = 0; |
| *(uint32_t*)0x20000040 = 0; |
| *(uint32_t*)0x20000044 = 0; |
| syscall(__NR_bpf, 5, 0x20000000, 0x48); |
| return 0; |
| } |