// 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, 0x421000, 3, 0x32, -1, 0);
  r[0] = syscall(__NR_socket, 0x10, 3, 6);
  *(uint64_t*)0x2000b000 = 0x2000f000;
  *(uint32_t*)0x2000b008 = 0xc;
  *(uint64_t*)0x2000b010 = 0x20008000;
  *(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*)0x20008000 = 0x2041e000;
  *(uint64_t*)0x20008008 = 0x138;
  *(uint32_t*)0x2041e000 = 0x138;
  *(uint16_t*)0x2041e004 = 0x10;
  *(uint16_t*)0x2041e006 = 0x713;
  *(uint32_t*)0x2041e008 = 0;
  *(uint32_t*)0x2041e00c = 0;
  *(uint8_t*)0x2041e010 = 0;
  *(uint8_t*)0x2041e011 = 0;
  *(uint8_t*)0x2041e012 = 0;
  *(uint8_t*)0x2041e013 = 0;
  *(uint8_t*)0x2041e014 = 0;
  *(uint8_t*)0x2041e015 = 0;
  *(uint8_t*)0x2041e016 = 0;
  *(uint8_t*)0x2041e017 = 0;
  *(uint8_t*)0x2041e018 = 0;
  *(uint8_t*)0x2041e019 = 0;
  *(uint8_t*)0x2041e01a = 0;
  *(uint8_t*)0x2041e01b = 0;
  *(uint8_t*)0x2041e01c = 0;
  *(uint8_t*)0x2041e01d = 0;
  *(uint8_t*)0x2041e01e = 0;
  *(uint8_t*)0x2041e01f = 0;
  *(uint32_t*)0x2041e020 = htobe32(0xe0000002);
  *(uint16_t*)0x2041e030 = 0;
  *(uint16_t*)0x2041e032 = htobe16(0);
  *(uint16_t*)0x2041e034 = 0;
  *(uint16_t*)0x2041e036 = htobe16(0);
  *(uint16_t*)0x2041e038 = 0;
  *(uint8_t*)0x2041e03a = 0;
  *(uint8_t*)0x2041e03b = 0;
  *(uint8_t*)0x2041e03c = 0;
  *(uint32_t*)0x2041e040 = 0;
  *(uint32_t*)0x2041e044 = 0;
  *(uint32_t*)0x2041e048 = htobe32(0x7f000001);
  *(uint32_t*)0x2041e058 = 0;
  *(uint8_t*)0x2041e05c = 0x6c;
  *(uint64_t*)0x2041e060 = htobe64(0);
  *(uint64_t*)0x2041e068 = htobe64(1);
  *(uint64_t*)0x2041e070 = 0;
  *(uint64_t*)0x2041e078 = 0;
  *(uint64_t*)0x2041e080 = 0;
  *(uint64_t*)0x2041e088 = 0;
  *(uint64_t*)0x2041e090 = 0;
  *(uint64_t*)0x2041e098 = 0;
  *(uint64_t*)0x2041e0a0 = 0;
  *(uint64_t*)0x2041e0a8 = 0;
  *(uint64_t*)0x2041e0b0 = 0;
  *(uint64_t*)0x2041e0b8 = 0;
  *(uint64_t*)0x2041e0c0 = 0;
  *(uint64_t*)0x2041e0c8 = 0;
  *(uint32_t*)0x2041e0d0 = 0;
  *(uint32_t*)0x2041e0d4 = 0;
  *(uint32_t*)0x2041e0d8 = 0;
  *(uint32_t*)0x2041e0dc = 0;
  *(uint32_t*)0x2041e0e0 = 0x3500;
  *(uint16_t*)0x2041e0e4 = 0xa;
  *(uint8_t*)0x2041e0e6 = 1;
  *(uint8_t*)0x2041e0e7 = 0;
  *(uint8_t*)0x2041e0e8 = 0;
  *(uint16_t*)0x2041e0f0 = 0x48;
  *(uint16_t*)0x2041e0f2 = 3;
  memcpy((void*)0x2041e0f4,
         "\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*)0x2041e134 = 0;
  syscall(__NR_sendmsg, r[0], 0x2000b000, 0);
}

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