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

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

static void test();

void loop()
{
  while (1) {
    test();
  }
}

long r[1];
void test()
{
  memset(r, -1, sizeof(r));
  syscall(__NR_mmap, 0x20000000, 0xfff000, 3, 0x32, -1, 0);
  r[0] = syscall(__NR_socket, 0x10, 3, 6);
  *(uint64_t*)0x2000b000 = 0x2000f000;
  *(uint32_t*)0x2000b008 = 0xc;
  *(uint64_t*)0x2000b010 = 0x205a6ff0;
  *(uint64_t*)0x2000b018 = 1;
  *(uint64_t*)0x2000b020 = 0;
  *(uint64_t*)0x2000b028 = 0;
  *(uint32_t*)0x2000b030 = 0;
  *(uint16_t*)0x2000f000 = 0x10;
  *(uint16_t*)0x2000f002 = 0;
  *(uint32_t*)0x2000f004 = 0;
  *(uint32_t*)0x2000f008 = 0;
  *(uint64_t*)0x205a6ff0 = 0x20418e8c;
  *(uint64_t*)0x205a6ff8 = 0x138;
  *(uint32_t*)0x20418e8c = 0x138;
  *(uint16_t*)0x20418e90 = 0x10;
  *(uint16_t*)0x20418e92 = 0x713;
  *(uint32_t*)0x20418e94 = 0;
  *(uint32_t*)0x20418e98 = 0;
  *(uint8_t*)0x20418e9c = 0xfe;
  *(uint8_t*)0x20418e9d = 0x80;
  *(uint8_t*)0x20418e9e = 0;
  *(uint8_t*)0x20418e9f = 0;
  *(uint8_t*)0x20418ea0 = 0;
  *(uint8_t*)0x20418ea1 = 0;
  *(uint8_t*)0x20418ea2 = 0;
  *(uint8_t*)0x20418ea3 = 0;
  *(uint8_t*)0x20418ea4 = 0;
  *(uint8_t*)0x20418ea5 = 0;
  *(uint8_t*)0x20418ea6 = 0;
  *(uint8_t*)0x20418ea7 = 0;
  *(uint8_t*)0x20418ea8 = 0;
  *(uint8_t*)0x20418ea9 = 0;
  *(uint8_t*)0x20418eaa = 0;
  *(uint8_t*)0x20418eab = 0xaa;
  *(uint32_t*)0x20418eac = htobe32(0xe0000002);
  *(uint16_t*)0x20418ebc = 0;
  *(uint16_t*)0x20418ebe = htobe16(0);
  *(uint16_t*)0x20418ec0 = 0;
  *(uint16_t*)0x20418ec2 = htobe16(0);
  *(uint16_t*)0x20418ec4 = 0;
  *(uint8_t*)0x20418ec6 = 0;
  *(uint8_t*)0x20418ec7 = 0;
  *(uint8_t*)0x20418ec8 = 0;
  *(uint32_t*)0x20418ecc = 0;
  *(uint32_t*)0x20418ed0 = 0;
  *(uint32_t*)0x20418ed4 = htobe32(0x7f000001);
  *(uint32_t*)0x20418ee4 = 0;
  *(uint8_t*)0x20418ee8 = 0x6c;
  *(uint8_t*)0x20418eec = 0xfe;
  *(uint8_t*)0x20418eed = 0x80;
  *(uint8_t*)0x20418eee = 0;
  *(uint8_t*)0x20418eef = 0;
  *(uint8_t*)0x20418ef0 = 0;
  *(uint8_t*)0x20418ef1 = 0;
  *(uint8_t*)0x20418ef2 = 0;
  *(uint8_t*)0x20418ef3 = 0;
  *(uint8_t*)0x20418ef4 = 0;
  *(uint8_t*)0x20418ef5 = 0;
  *(uint8_t*)0x20418ef6 = 0;
  *(uint8_t*)0x20418ef7 = 0;
  *(uint8_t*)0x20418ef8 = 0;
  *(uint8_t*)0x20418ef9 = 0;
  *(uint8_t*)0x20418efa = 0;
  *(uint8_t*)0x20418efb = 0xbb;
  *(uint64_t*)0x20418efc = 0;
  *(uint64_t*)0x20418f04 = 0;
  *(uint64_t*)0x20418f0c = 0;
  *(uint64_t*)0x20418f14 = 0;
  *(uint64_t*)0x20418f1c = 0;
  *(uint64_t*)0x20418f24 = 0;
  *(uint64_t*)0x20418f2c = 0;
  *(uint64_t*)0x20418f34 = 0;
  *(uint64_t*)0x20418f3c = 0;
  *(uint64_t*)0x20418f44 = 0;
  *(uint64_t*)0x20418f4c = 0;
  *(uint64_t*)0x20418f54 = 0;
  *(uint32_t*)0x20418f5c = 0;
  *(uint32_t*)0x20418f60 = 0;
  *(uint32_t*)0x20418f64 = 0;
  *(uint32_t*)0x20418f68 = 0;
  *(uint32_t*)0x20418f6c = 0;
  *(uint16_t*)0x20418f70 = 0xa;
  *(uint8_t*)0x20418f72 = 1;
  *(uint8_t*)0x20418f73 = 0;
  *(uint8_t*)0x20418f74 = 0;
  *(uint16_t*)0x20418f7c = 0x48;
  *(uint16_t*)0x20418f7e = 3;
  memcpy((void*)0x20418f80,
         "\x64\x65\x66\x6c\x61\x74\x65\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
         "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
         "\x00\x00\x00\x00\x00\x00\x00\xf1\xff\xff\xff\x00\x00\x00\x00\x00\x00"
         "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00",
         64);
  *(uint32_t*)0x20418fc0 = 0;
  syscall(__NR_sendmsg, r[0], 0x2000b000, 0);
}

int main()
{
  for (;;) {
    loop();
  }
}