bisecting fixing commit since 7d120bf21c05cbe30a679f0feeca884eeaceb069 building syzkaller on 36650b4b2c942bc382314dce384d311fbadd1208 testing commit 7d120bf21c05cbe30a679f0feeca884eeaceb069 compiler: gcc version 8.4.1 20210217 (GCC) kernel signature: f1bb283310cf3fb85c30a7cf9a71abb7ce79b70c514f1b5929555246f3238536 all runs: crashed: general protection fault in tcp_splice_read testing current HEAD 2950c9c5e0df6bd34af45a5168bbee345e95eae2 testing commit 2950c9c5e0df6bd34af45a5168bbee345e95eae2 compiler: gcc version 8.4.1 20210217 (GCC) kernel signature: dae2f07bbb764847c942dd5027d8c6f35dc5785704cb5c461808fafed0b1179a all runs: crashed: general protection fault in tcp_splice_read revisions tested: 2, total time: 40m28.674068815s (build: 24m34.294954126s, test: 14m46.82935607s) the crash still happens on HEAD commit msg: Linux 4.19.207 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: 1 PID: 14489 Comm: syz-executor.3 Not tainted 4.19.207-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:ffff8881c7367ba8 EFLAGS: 00010206 RAX: dffffc0000000000 RBX: 1ffff11038e6cf79 RCX: 1ffff1103d23c57f RDX: 000000000000000f RSI: ffff8881e91e2bd8 RDI: 0000000000000078 RBP: ffff8881c7367cf0 R08: ffff8881e91e2bf8 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000 R13: 0000000000000000 R14: ffff8881c7367cc8 R15: ffff8881dca56c80 FS: 00007f246e7d4700(0000) GS:ffff8881f6900000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000000000052c000 CR3: 00000001d4853001 CR4: 00000000001606e0 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:00007f246e7d41a8 EFLAGS: 00000246 ORIG_RAX: 0000000000000113 RAX: ffffffffffffffda RBX: 000000000052bf00 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: 00007f246e7d46bc Modules linked in: ---[ end trace 77317579dfa33437 ]--- 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:ffff8881c7367ba8 EFLAGS: 00010206 RAX: dffffc0000000000 RBX: 1ffff11038e6cf79 RCX: 1ffff1103d23c57f RDX: 000000000000000f RSI: ffff8881e91e2bd8 RDI: 0000000000000078 RBP: ffff8881c7367cf0 R08: ffff8881e91e2bf8 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000 R13: 0000000000000000 R14: ffff8881c7367cc8 R15: ffff8881dca56c80 FS: 00007f246e7d4700(0000) GS:ffff8881f6900000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00000000005073d4 CR3: 00000001d4853001 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