bisecting fixing commit since 7d120bf21c05cbe30a679f0feeca884eeaceb069 building syzkaller on 36650b4b2c942bc382314dce384d311fbadd1208 testing commit 7d120bf21c05cbe30a679f0feeca884eeaceb069 compiler: gcc version 8.4.1 20210217 (GCC) kernel signature: 48fd38d248c8385ca0f32c03a808d8535e3bb85468387b7d3ee37f00107370d9 all runs: crashed: general protection fault in tcp_splice_read testing current HEAD e23d55af0e1fca9be5c99f0c37d48b289f4d6489 testing commit e23d55af0e1fca9be5c99f0c37d48b289f4d6489 compiler: gcc version 8.4.1 20210217 (GCC) kernel signature: 10acbf62d68b1e0627fd7b6693d455a039c8ebe3483e42269e4f3832c8066ca1 all runs: crashed: general protection fault in tcp_splice_read revisions tested: 2, total time: 36m59.543667439s (build: 21m17.243441987s, test: 14m44.311285458s) the crash still happens on HEAD commit msg: Linux 4.19.205 crash: general protection fault in tcp_splice_read kasan: CONFIG_KASAN_INLINE enabled kasan: GPF could be caused by NULL-ptr deref or user memory access general protection fault: 0000 [#1] PREEMPT SMP KASAN CPU: 0 PID: 26086 Comm: syz-executor.4 Not tainted 4.19.205-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 RIP: 0010:tcp_splice_read+0x138/0x8d0 net/ipv4/tcp.c:809 Code: fa 48 c1 ea 03 80 3c 02 00 0f 85 18 07 00 00 48 b8 00 00 00 00 00 fc ff df 4d 8b 64 24 18 49 8d 7c 24 78 48 89 fa 48 c1 ea 03 <0f> b6 04 02 84 c0 74 08 3c 03 0f 8e 20 06 00 00 31 c0 41 f6 44 24 RSP: 0018:ffff8881c5ec7ba8 EFLAGS: 00010206 RAX: dffffc0000000000 RBX: 1ffff11038bd8f79 RCX: 1ffff1103aeaf1df RDX: 000000000000000f RSI: ffff8881d7578ed8 RDI: 0000000000000078 RBP: ffff8881c5ec7cf0 R08: ffff8881d7578ef8 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000 R13: 0000000000000000 R14: ffff8881c5ec7cc8 R15: ffff8881f4724240 FS: 00007f69d3c6d700(0000) GS:ffff8881f6800000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000020000080 CR3: 00000001e20a3001 CR4: 00000000001606f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: smc_splice_read+0x1f6/0x330 net/smc/af_smc.c:1857 sock_splice_read+0x92/0x120 net/socket.c:924 do_splice_to+0xe3/0x120 fs/splice.c:881 do_splice+0xe36/0x12b0 fs/splice.c:1186 __do_sys_splice fs/splice.c:1428 [inline] __se_sys_splice fs/splice.c:1408 [inline] __x64_sys_splice+0x248/0x300 fs/splice.c:1408 do_syscall_64+0xd0/0x4e0 arch/x86/entry/common.c:293 entry_SYSCALL_64_after_hwframe+0x49/0xbe RIP: 0033:0x462229 Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 bc ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007f69d3c6d1a8 EFLAGS: 00000246 ORIG_RAX: 0000000000000113 RAX: ffffffffffffffda RBX: 000000000052bfa8 RCX: 0000000000462229 RDX: 0000000000000004 RSI: 0000000000000000 RDI: 0000000000000006 RBP: 0000000000000006 R08: 000000000d86dac9 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 00000000ffffffff R13: 00000000004fcdd0 R14: 00000000004b6fb8 R15: 00007f69d3c6d6bc Modules linked in: ---[ end trace 220c5d5843b6d403 ]--- RIP: 0010:tcp_splice_read+0x138/0x8d0 net/ipv4/tcp.c:809 Code: fa 48 c1 ea 03 80 3c 02 00 0f 85 18 07 00 00 48 b8 00 00 00 00 00 fc ff df 4d 8b 64 24 18 49 8d 7c 24 78 48 89 fa 48 c1 ea 03 <0f> b6 04 02 84 c0 74 08 3c 03 0f 8e 20 06 00 00 31 c0 41 f6 44 24 RSP: 0018:ffff8881c5ec7ba8 EFLAGS: 00010206 RAX: dffffc0000000000 RBX: 1ffff11038bd8f79 RCX: 1ffff1103aeaf1df RDX: 000000000000000f RSI: ffff8881d7578ed8 RDI: 0000000000000078 RBP: ffff8881c5ec7cf0 R08: ffff8881d7578ef8 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000 R13: 0000000000000000 R14: ffff8881c5ec7cc8 R15: ffff8881f4724240 FS: 00007f69d3c6d700(0000) GS:ffff8881f6900000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000562bfbc20140 CR3: 00000001e20a3002 CR4: 00000000001606e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 ---------------- Code disassembly (best guess): 0: fa cli 1: 48 c1 ea 03 shr $0x3,%rdx 5: 80 3c 02 00 cmpb $0x0,(%rdx,%rax,1) 9: 0f 85 18 07 00 00 jne 0x727 f: 48 b8 00 00 00 00 00 movabs $0xdffffc0000000000,%rax 16: fc ff df 19: 4d 8b 64 24 18 mov 0x18(%r12),%r12 1e: 49 8d 7c 24 78 lea 0x78(%r12),%rdi 23: 48 89 fa mov %rdi,%rdx 26: 48 c1 ea 03 shr $0x3,%rdx * 2a: 0f b6 04 02 movzbl (%rdx,%rax,1),%eax <-- trapping instruction 2e: 84 c0 test %al,%al 30: 74 08 je 0x3a 32: 3c 03 cmp $0x3,%al 34: 0f 8e 20 06 00 00 jle 0x65a 3a: 31 c0 xor %eax,%eax 3c: 41 rex.B 3d: f6 .byte 0xf6 3e: 44 rex.R 3f: 24 .byte 0x24