// BUG: sleeping function called from invalid context at net/core/sock.c:LINE (3)
// https://syzkaller.appspot.com/bug?id=c9ea7c5d24bed8e139197e51b4d4e7f2c5aa3ad2
// status:fixed
// 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();
  }
}

void test()
{
  syscall(__NR_unshare, 0x40000000);
}

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