blob: 591a4236e1f389f65048609544a9c8426a5a4474 [file] [log] [blame]
// general protection fault in __skb_flow_dissect
// https://syzkaller.appspot.com/bug?id=657634fd8edcf2bcedae1271b9e6307ce4a61ce8
// status:fixed
// autogenerated by syzkaller (http://github.com/google/syzkaller)
#define _GNU_SOURCE
#include <stdint.h>
#include <string.h>
#include <sys/syscall.h>
#include <unistd.h>
long r[18];
void loop()
{
memset(r, -1, sizeof(r));
r[0] = syscall(__NR_mmap, 0x20000000ul, 0x18000ul, 0x3ul, 0x32ul,
0xfffffffffffffffful, 0x0ul);
r[1] = syscall(__NR_socketpair, 0x1ul, 0x2000000000005ul, 0x0ul,
0x20008000ul);
if (r[1] != -1)
r[2] = *(uint32_t*)0x20008000;
if (r[1] != -1)
r[3] = *(uint32_t*)0x20008004;
*(uint16_t*)0x20015000 = (uint16_t)0x2;
*(uint64_t*)0x20015008 = (uint64_t)0x20014000;
*(uint16_t*)0x20014000 = (uint16_t)0x20;
*(uint8_t*)0x20014002 = (uint8_t)0x0;
*(uint8_t*)0x20014003 = (uint8_t)0x0;
*(uint32_t*)0x20014004 = (uint32_t)0xeffffffffffff034;
*(uint16_t*)0x20014008 = (uint16_t)0x6;
*(uint8_t*)0x2001400a = (uint8_t)0x0;
*(uint8_t*)0x2001400b = (uint8_t)0x0;
*(uint32_t*)0x2001400c = (uint32_t)0x0;
r[14] = syscall(__NR_setsockopt, r[2], 0x1ul, 0x1aul, 0x20015000ul,
0x10ul);
*(uint16_t*)0x20017ff6 = (uint16_t)0x0;
memcpy((void*)0x20017ff8, "\x2e\x2f\x66\x69\x6c\x65\x30\x00", 8);
r[17] = syscall(__NR_sendto, r[3], 0x2000cfdbul, 0x0ul, 0x0ul,
0x20017ff6ul, 0xaul);
}
int main()
{
loop();
return 0;
}