// https://syzkaller.appspot.com/bug?id=9af1b02de9c2c9d59a4beda7aecb08289aff9e7e
// 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>

#ifndef __NR_mmap
#define __NR_mmap 192
#endif
#ifndef __NR_socket
#define __NR_socket 359
#endif
#ifndef __NR_setsockopt
#define __NR_setsockopt 366
#endif
#undef __NR_mmap
#define __NR_mmap __NR_mmap2

long r[1];
void loop()
{
  memset(r, -1, sizeof(r));
  syscall(__NR_mmap, 0x20000000, 0xfff000, 3, 0x32, -1, 0);
  r[0] = syscall(__NR_socket, 2, 1, 0);
  memcpy((void*)0x20178d3e, "\x6d\x61\x6e\x67\x6c\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",
         32);
  *(uint32_t*)0x20178d5e = 0;
  *(uint32_t*)0x20178d62 = 0;
  *(uint32_t*)0x20178d66 = 0x90;
  *(uint32_t*)0x20178d6a = 0;
  *(uint32_t*)0x20178d6e = 0;
  *(uint32_t*)0x20178d72 = 0;
  *(uint32_t*)0x20178d76 = 0;
  *(uint32_t*)0x20178d7a = 0;
  *(uint32_t*)0x20178d7e = 0;
  *(uint32_t*)0x20178d82 = 0;
  *(uint32_t*)0x20178d86 = 0;
  *(uint32_t*)0x20178d8a = 0;
  *(uint32_t*)0x20178d8e = 0;
  *(uint32_t*)0x20178d92 = 0x10;
  *(uint32_t*)0x20178d96 = 0x20462ff0;
  *(uint32_t*)0x20178d9a = htobe32(0xe0000001);
  *(uint32_t*)0x20178d9e = htobe32(0);
  *(uint32_t*)0x20178da2 = htobe32(0);
  *(uint32_t*)0x20178da6 = htobe32(0);
  memcpy((void*)0x20178daa,
         "\x46\x18\x1b\x9a\x75\x1e\xa1\x82\x8d\x6d\xcb\xfe\x73\x01\x38\x87",
         16);
  memcpy((void*)0x20178dba,
         "\x69\x70\x61\x64\x70\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00",
         16);
  *(uint8_t*)0x20178dca = 0;
  *(uint8_t*)0x20178dcb = 0;
  *(uint8_t*)0x20178dcc = 0;
  *(uint8_t*)0x20178dcd = 0;
  *(uint8_t*)0x20178dce = 0;
  *(uint8_t*)0x20178dcf = 0;
  *(uint8_t*)0x20178dd0 = 0;
  *(uint8_t*)0x20178dd1 = 0;
  *(uint8_t*)0x20178dd2 = 0;
  *(uint8_t*)0x20178dd3 = 0;
  *(uint8_t*)0x20178dd4 = 0;
  *(uint8_t*)0x20178dd5 = 0;
  *(uint8_t*)0x20178dd6 = 0;
  *(uint8_t*)0x20178dd7 = 0;
  *(uint8_t*)0x20178dd8 = 0;
  *(uint8_t*)0x20178dd9 = 0;
  *(uint8_t*)0x20178dda = 0;
  *(uint8_t*)0x20178ddb = 0;
  *(uint8_t*)0x20178ddc = 0;
  *(uint8_t*)0x20178ddd = 0;
  *(uint8_t*)0x20178dde = 0;
  *(uint8_t*)0x20178ddf = 0;
  *(uint8_t*)0x20178de0 = 0;
  *(uint8_t*)0x20178de1 = 0;
  *(uint8_t*)0x20178de2 = 0;
  *(uint8_t*)0x20178de3 = 0;
  *(uint8_t*)0x20178de4 = 0;
  *(uint8_t*)0x20178de5 = 0;
  *(uint8_t*)0x20178de6 = 0;
  *(uint8_t*)0x20178de7 = 0;
  *(uint8_t*)0x20178de8 = 0;
  *(uint8_t*)0x20178de9 = 0;
  *(uint16_t*)0x20178dea = 0;
  *(uint8_t*)0x20178dec = 0;
  *(uint8_t*)0x20178ded = 0;
  *(uint32_t*)0x20178dee = 0;
  *(uint16_t*)0x20178df2 = 0x70;
  *(uint16_t*)0x20178df4 = 0x90;
  *(uint32_t*)0x20178df6 = 0;
  *(uint64_t*)0x20178dfa = 0;
  *(uint64_t*)0x20178e02 = 0;
  *(uint16_t*)0x20178e0a = 0x20;
  memcpy((void*)0x20178e0c, "\x8b\xbf\xc1\xb2\x44\xc5\x6c\x09\x14\x61\x86\x1e"
                            "\x4a\x5e\x93\xc5\x24\x40\x52\x9e\x58\xf3\x47\xc9"
                            "\x3a\x1c\xc0\x7e\x74",
         29);
  *(uint8_t*)0x20178e29 = 3;
  syscall(__NR_setsockopt, r[0], 0, 0x40, 0x20178d3e, 0xec);
}

int main()
{
  loop();
  return 0;
}