// https://syzkaller.appspot.com/bug?id=059cee5623ce519359e7440ba6d0d6af8b82694e
// autogenerated by syzkaller (http://github.com/google/syzkaller)

#define _GNU_SOURCE
#include <endian.h>
#include <stdint.h>
#include <stdio.h>
#include <string.h>
#include <sys/syscall.h>
#include <unistd.h>

#ifndef __NR_bpf
#define __NR_bpf 321
#endif

uint64_t r[1] = {0xffffffffffffffff};
void loop()
{
  long res = 0;
  *(uint32_t*)0x20000200 = 0xc;
  *(uint32_t*)0x20000204 = 0xe;
  *(uint64_t*)0x20000208 = 0x20000000;
  memcpy((void*)0x20000000,
         "\xb7\x02\x00\x00\x02\x00\x00\x00\xbf\xa3\x00\x00\x00\x00\x00\x00\x07"
         "\x03\x00\x00\x00\xfe\xff\xff\x7a\x0a\xf0\xff\xf8\xff\xff\xff\x79\xa4"
         "\xf0\xff\x00\x00\x00\x00\xb7\x06\x00\x00\xff\xff\xff\xff\x2d\x64\x05"
         "\x00\x00\x00\x00\x00\x65\x04\x04\x00\x01\x00\x00\x00\x04\x04\x00\x00"
         "\x01\x00\x00\x00\xb7\x03\x00\x00\x00\x00\x00\x00\x6a\x0a\x00\xfe\x00"
         "\x00\x00\x00\x85\x00\x00\x00\x2b\x00\x00\x00\xb7\x00\x00\x00\x00\x00"
         "\x00\x00\x95\x00\x00\x00\x00\x00\x00\x00",
         112);
  *(uint64_t*)0x20000210 = 0x20000340;
  memcpy((void*)0x20000340, "syzkaller", 10);
  *(uint32_t*)0x20000218 = 0;
  *(uint32_t*)0x2000021c = 0;
  *(uint64_t*)0x20000220 = 0;
  *(uint32_t*)0x20000228 = 0;
  *(uint32_t*)0x2000022c = 0;
  *(uint8_t*)0x20000230 = 0;
  *(uint8_t*)0x20000231 = 0;
  *(uint8_t*)0x20000232 = 0;
  *(uint8_t*)0x20000233 = 0;
  *(uint8_t*)0x20000234 = 0;
  *(uint8_t*)0x20000235 = 0;
  *(uint8_t*)0x20000236 = 0;
  *(uint8_t*)0x20000237 = 0;
  *(uint8_t*)0x20000238 = 0;
  *(uint8_t*)0x20000239 = 0;
  *(uint8_t*)0x2000023a = 0;
  *(uint8_t*)0x2000023b = 0;
  *(uint8_t*)0x2000023c = 0;
  *(uint8_t*)0x2000023d = 0;
  *(uint8_t*)0x2000023e = 0;
  *(uint8_t*)0x2000023f = 0;
  *(uint32_t*)0x20000240 = 0;
  *(uint32_t*)0x20000244 = 0;
  res = syscall(__NR_bpf, 5, 0x20000200, 0x48);
  if (res != -1)
    r[0] = res;
  *(uint32_t*)0x20000280 = r[0];
  *(uint32_t*)0x20000284 = 0;
  *(uint32_t*)0x20000288 = 0x84;
  *(uint32_t*)0x2000028c = 0xc7;
  *(uint64_t*)0x20000290 = 0x20000140;
  memcpy((void*)0x20000140,
         "\x34\x4d\x1f\xeb\x85\x45\xe8\xe7\xff\x7a\x91\xa3\x62\x76\x8b\xf2\x08"
         "\xd8\x13\x7d\xaf\x98\xab\x52\x0c\x10\x7c\x48\x7f\xe6\xb2\xc7\x43\x04"
         "\x47\xa3\x08\x5d\xf7\x03\x8e\x52\x48\x56\x31\x08\x7f\x48\xc2\x10\x41"
         "\x87\x41\xf8\x58\x44\xe0\x11\xf1\x89\x9d\xd9\xdf\x14\x21\xd4\x4e\xc5"
         "\xc8\x3c\x8e\x79\xcf\x6c\xf1\xe2\xbe\x4e\x59\xba\xb7\xf3\xaf\x58\x83"
         "\xac\x7c\xb6\x34\x55\xff\xcd\x9d\xd1\xaa\x88\x49\x26\x8b\xc5\x87\x8c"
         "\xa8\x45\xe3\x08\xfe\xfe\xa1\x4a\xc7\x22\xa2\xb7\x9d\x25\x3f\xb4\x85"
         "\xe0\x3e\x7f\xb6\x6f\x8c\x88\xf1\xd0\xd6\x36\x16\xb5",
         132);
  *(uint64_t*)0x20000298 = 0x20000380;
  *(uint32_t*)0x200002a0 = 0x1000;
  *(uint32_t*)0x200002a4 = 0;
  syscall(__NR_bpf, 0xa, 0x20000280, 0x28);
}

int main()
{
  syscall(__NR_mmap, 0x20000000, 0x1000000, 3, 0x32, -1, 0);
  loop();
  return 0;
}