blob: 9e868d0dc732900d3c4763f3422914ad579e9fad [file] [log] [blame]
// KMSAN: uninit-value in ebt_stp_mt_check (2)
// https://syzkaller.appspot.com/bug?id=98de7581d334faa54310825a332cafcddfcb5bb7
// 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>
uint64_t r[1] = {0xffffffffffffffff};
void loop()
{
long res = 0;
res = syscall(__NR_socket, 2, 2, 0);
if (res != -1)
r[0] = res;
memcpy((void*)0x20000480, "\x66\x69\x6c\x74\x65\x72\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*)0x200004a0 = 0xe;
*(uint32_t*)0x200004a4 = 2;
*(uint32_t*)0x200004a8 = 0x288;
*(uint64_t*)0x200004b0 = 0;
*(uint64_t*)0x200004b8 = 0x20000140;
*(uint64_t*)0x200004c0 = 0x20000170;
*(uint64_t*)0x200004c8 = 0x200002f8;
*(uint64_t*)0x200004d0 = 0;
*(uint64_t*)0x200004d8 = 0;
*(uint32_t*)0x200004e0 = 0;
*(uint64_t*)0x200004e8 = 0x20000080;
*(uint64_t*)0x200004f0 = 0x20000140;
memcpy(
(void*)0x20000140,
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\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\xff\xff\xff\xff\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xfe\xff"
"\xff\xff\x01\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x69\x70"
"\x36\x67\x72\x65\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x74\x65\x61\x6d"
"\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x76\x65\x74\x68\x30\x5f"
"\x74\x6f\x5f\x62\x6f\x6e\x64\x00\x00\x00\x73\x79\x7a\x5f\x74\x75\x6e\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00"
"\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x28\x01"
"\x00\x00\x28\x01\x00\x00\x58\x01\x00\x00\x6c\x69\x6d\x69\x74\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\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x02\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\x73\x74\x70\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\x48\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\xaa\xaa\xaa\xaa\xaa\xaa\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff"
"\xff\xff\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\x40\x00\x00\x00\x41\x55\x44\x49"
"\x54\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\x08\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\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\xfe\xff\xff\xff\x01\x00"
"\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x76\x6c\x61\x6e\x30\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x6f\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x72\x6f\x73\x65\x30\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x62\x72\x69\x64\x67\x65\x30\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x63\x31"
"\xf0\x03\xb7\x01\x00\x00\x00\x00\x00\x00\x00\x00\x70\x00\x00\x00\x70\x00"
"\x00\x00\xa0\x00\x00\x00\x41\x55\x44\x49\x54\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\xff"
"\xff\xff\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00",
648);
syscall(__NR_setsockopt, r[0], 0, 0x80, 0x20000480, 0x300);
}
int main()
{
syscall(__NR_mmap, 0x20000000, 0x1000000, 3, 0x32, -1, 0);
loop();
return 0;
}