// https://syzkaller.appspot.com/bug?id=695da223933e7fd1050bb497ef46f6d7499568f8 // autogenerated by syzkaller (https://github.com/google/syzkaller) #define _GNU_SOURCE #include #include #include #include #include #include #include #include #include #include #include static void use_temporary_dir(void) { char tmpdir_template[] = "./syzkaller.XXXXXX"; char* tmpdir = mkdtemp(tmpdir_template); if (!tmpdir) exit(1); if (chmod(tmpdir, 0777)) exit(1); if (chdir(tmpdir)) exit(1); } uint64_t r[1] = {0xffffffffffffffff}; int main(void) { syscall(SYS_mmap, 0x20000000ul, 0x1000000ul, 7ul, 0x1012ul, -1, 0ul); use_temporary_dir(); intptr_t res = 0; res = syscall(SYS_socket, 2ul, 2ul, 0x88); if (res != -1) r[0] = res; *(uint8_t*)0x20000180 = 2; *(uint8_t*)0x20000181 = 0; *(uint16_t*)0x20000182 = htobe16(0); *(uint32_t*)0x20000184 = htobe32(0); memset((void*)0x20000188, 0, 8); syscall(SYS_bind, r[0], 0x20000180ul, 2ul); return 0; }