bisecting fixing commit since 555161ee1b7a74e77ca70fd14ed8a5137c8108ac building syzkaller on 2e29b534005e52c57d726201644ea28ba33a9a3d testing commit 555161ee1b7a74e77ca70fd14ed8a5137c8108ac compiler: gcc version 8.4.1 20210217 (GCC) kernel signature: 6d16430c87f4329cfdd9af743a19d89cdb1fac7ebf6f705be4265ba270b27c59 run #0: crashed: KASAN: slab-out-of-bounds Read in scatterwalk_copychunks run #1: crashed: KASAN: slab-out-of-bounds Read in scatterwalk_copychunks run #2: crashed: general protection fault in scatterwalk_copychunks run #3: crashed: general protection fault in scatterwalk_copychunks run #4: crashed: general protection fault in scatterwalk_copychunks run #5: crashed: KASAN: slab-out-of-bounds Read in scatterwalk_copychunks run #6: crashed: general protection fault in scatterwalk_copychunks run #7: crashed: KASAN: slab-out-of-bounds Read in scatterwalk_copychunks run #8: crashed: general protection fault in scatterwalk_copychunks run #9: crashed: general protection fault in scatterwalk_copychunks run #10: crashed: general protection fault in corrupted run #11: crashed: KASAN: slab-out-of-bounds Read in scatterwalk_copychunks run #12: crashed: general protection fault in scatterwalk_copychunks run #13: crashed: general protection fault in scatterwalk_copychunks run #14: crashed: KASAN: use-after-free Read in scatterwalk_copychunks run #15: crashed: KASAN: use-after-free Read in scatterwalk_copychunks run #16: crashed: general protection fault in scatterwalk_copychunks run #17: crashed: KASAN: slab-out-of-bounds Read in scatterwalk_copychunks run #18: crashed: general protection fault in scatterwalk_copychunks run #19: crashed: KASAN: use-after-free Read in scatterwalk_copychunks testing current HEAD 6db10b4d5efdc38ff06dfdde28dc5477f754b0bd testing commit 6db10b4d5efdc38ff06dfdde28dc5477f754b0bd compiler: gcc version 8.4.1 20210217 (GCC) kernel signature: 651d93181c19d47f45f98889b0cfcadf16274156327d4928d50e26e2344a6412 run #0: crashed: KASAN: slab-out-of-bounds Read in scatterwalk_copychunks run #1: crashed: general protection fault in scatterwalk_copychunks run #2: crashed: KASAN: slab-out-of-bounds Read in scatterwalk_copychunks run #3: crashed: KASAN: slab-out-of-bounds Read in scatterwalk_copychunks run #4: crashed: KASAN: slab-out-of-bounds Read in scatterwalk_copychunks run #5: crashed: KASAN: slab-out-of-bounds Read in scatterwalk_copychunks run #6: crashed: general protection fault in scatterwalk_copychunks run #7: crashed: KASAN: slab-out-of-bounds Read in scatterwalk_copychunks run #8: crashed: general protection fault in scatterwalk_copychunks run #9: crashed: general protection fault in scatterwalk_copychunks revisions tested: 2, total time: 31m10.584746926s (build: 23m3.294213896s, test: 6m52.16159332s) the crash still happens on HEAD commit msg: Linux 4.19.209 crash: general protection fault in scatterwalk_copychunks __should_failslab+0xba/0xf0 mm/failslab.c:32 should_failslab+0x9/0x20 mm/slab_common.c:1590 slab_pre_alloc_hook mm/slab.h:424 [inline] slab_alloc mm/slab.c:3383 [inline] __do_kmalloc mm/slab.c:3725 [inline] __kmalloc+0x2dd/0x770 mm/slab.c:3736 kmalloc include/linux/slab.h:520 [inline] aead_request_alloc include/crypto/aead.h:427 [inline] tls_push_record+0xff/0x1600 net/tls/tls_sw.c:209 tls_sw_sendpage+0x462/0xc00 net/tls/tls_sw.c:585 general protection fault: 0000 [#1] PREEMPT SMP KASAN CPU: 1 PID: 6782 Comm: syz-executor.2 Not tainted 4.19.209-syzkaller #0 inet_sendpage+0x122/0x600 net/ipv4/af_inet.c:815 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 RIP: 0010:scatterwalk_start include/crypto/scatterwalk.h:73 [inline] RIP: 0010:scatterwalk_pagedone include/crypto/scatterwalk.h:98 [inline] RIP: 0010:scatterwalk_pagedone include/crypto/scatterwalk.h:82 [inline] RIP: 0010:scatterwalk_copychunks+0x379/0x610 crypto/scatterwalk.c:55 kernel_sendpage+0x60/0xd0 net/socket.c:3585 Code: ff ff 48 89 c7 e8 97 2c 2a 00 4c 89 f2 48 c1 ea 03 42 80 3c 3a 00 0f 85 a8 01 00 00 48 8d 70 08 49 89 06 48 89 f2 48 c1 ea 03 <42> 0f b6 14 3a 84 d2 74 09 80 fa 03 0f 8e 6b 01 00 00 48 8b 5d d0 RSP: 0018:ffff8881daac7498 EFLAGS: 00010202 RAX: 0000000000000000 RBX: ffff8881daa8476c RCX: 000000000000401d RDX: 0000000000000001 RSI: 0000000000000008 RDI: ffff8881daa84760 sock_sendpage+0x6d/0xd0 net/socket.c:912 RBP: ffff8881daac74f8 R08: ffffed1039ba5804 R09: ffffed1039ba5800 pipe_to_sendpage+0x212/0x430 fs/splice.c:452 R10: 0000000000000000 R11: ffff8881cdd2c01c R12: 0000000000001000 R13: 000000000000001d R14: ffff8881daac7538 R15: dffffc0000000000 FS: 00007f1493762700(0000) GS:ffff8881f6900000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00000000200000c0 CR3: 00000001ce490003 CR4: 00000000003606e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 splice_from_pipe_feed fs/splice.c:503 [inline] __splice_from_pipe+0x2cb/0x720 fs/splice.c:627 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: scatterwalk_map_and_copy crypto/scatterwalk.c:72 [inline] scatterwalk_map_and_copy+0x128/0x190 crypto/scatterwalk.c:60 splice_from_pipe+0xbb/0x120 fs/splice.c:662 generic_splice_sendpage+0x10/0x20 fs/splice.c:833 gcmaes_encrypt.constprop.15+0x81b/0xda0 arch/x86/crypto/aesni-intel_glue.c:980 do_splice_from fs/splice.c:852 [inline] do_splice+0xa25/0x12b0 fs/splice.c:1154 __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:0x461229 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:00007fe6b0d191a8 EFLAGS: 00000246 ORIG_RAX: 0000000000000113 RAX: ffffffffffffffda RBX: 000000000052bf00 RCX: 0000000000461229 generic_gcmaes_encrypt+0xfd/0x150 arch/x86/crypto/aesni-intel_glue.c:1297 RDX: 0000000000000004 RSI: 0000000000000000 RDI: 0000000000000003 RBP: 0000000000000001 R08: 000000011d100000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000005 R13: 00000000004f8ff8 R14: 00000000004b500d R15: 00007fe6b0d196bc crypto_aead_encrypt include/crypto/aead.h:337 [inline] gcmaes_wrapper_encrypt+0x109/0x180 arch/x86/crypto/aesni-intel_glue.c:1130 CPU: 0 PID: 6774 Comm: syz-executor.4 Not tainted 4.19.209-syzkaller #0 crypto_aead_encrypt include/crypto/aead.h:337 [inline] tls_do_encryption net/tls/tls_sw.c:193 [inline] tls_push_record+0x9ae/0x1600 net/tls/tls_sw.c:228 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: tls_sw_sendpage+0x462/0xc00 net/tls/tls_sw.c:585 __dump_stack lib/dump_stack.c:77 [inline] dump_stack+0x123/0x171 lib/dump_stack.c:118 fail_dump lib/fault-inject.c:51 [inline] should_fail.cold.4+0x5/0xa lib/fault-inject.c:149 inet_sendpage+0x122/0x600 net/ipv4/af_inet.c:815 kernel_sendpage+0x60/0xd0 net/socket.c:3585 __should_failslab+0xba/0xf0 mm/failslab.c:32 should_failslab+0x9/0x20 mm/slab_common.c:1590 sock_sendpage+0x6d/0xd0 net/socket.c:912 slab_pre_alloc_hook mm/slab.h:424 [inline] slab_alloc_node mm/slab.c:3304 [inline] kmem_cache_alloc_node_trace+0x265/0x730 mm/slab.c:3666 pipe_to_sendpage+0x212/0x430 fs/splice.c:452 __do_kmalloc_node mm/slab.c:3688 [inline] __kmalloc_node_track_caller+0x3c/0x70 mm/slab.c:3703 __kmalloc_reserve.isra.38+0x2c/0xc0 net/core/skbuff.c:137 __alloc_skb+0xd7/0x580 net/core/skbuff.c:205 splice_from_pipe_feed fs/splice.c:503 [inline] __splice_from_pipe+0x2cb/0x720 fs/splice.c:627 splice_from_pipe+0xbb/0x120 fs/splice.c:662 alloc_skb_fclone include/linux/skbuff.h:1037 [inline] sk_stream_alloc_skb+0x9e/0x810 net/ipv4/tcp.c:884 do_tcp_sendpages+0x774/0x1d30 net/ipv4/tcp.c:1003 generic_splice_sendpage+0x10/0x20 fs/splice.c:833 do_splice_from fs/splice.c:852 [inline] do_splice+0xa25/0x12b0 fs/splice.c:1154 __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:0x461229 tcp_sendpage_locked net/ipv4/tcp.c:1106 [inline] tcp_sendpage_locked+0x63/0xa0 net/ipv4/tcp.c:1098 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 tcp_sendpage+0x37/0x50 net/ipv4/tcp.c:1116 RSP: 002b:00007f14937621a8 EFLAGS: 00000246 ORIG_RAX: 0000000000000113 inet_sendpage+0x122/0x600 net/ipv4/af_inet.c:815 RAX: ffffffffffffffda RBX: 000000000052bf00 RCX: 0000000000461229 RDX: 0000000000000004 RSI: 0000000000000000 RDI: 0000000000000003 kernel_sendpage+0x60/0xd0 net/socket.c:3585 RBP: 0000000000000001 R08: 000000011d100000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000005 R13: 00000000004f8ff8 R14: 00000000004b500d R15: 00007f14937626bc sock_sendpage+0x6d/0xd0 net/socket.c:912 Modules linked in: pipe_to_sendpage+0x212/0x430 fs/splice.c:452 ---[ end trace 96f94e26dbe80b00 ]--- splice_from_pipe_feed fs/splice.c:503 [inline] __splice_from_pipe+0x2cb/0x720 fs/splice.c:627 RIP: 0010:scatterwalk_start include/crypto/scatterwalk.h:73 [inline] RIP: 0010:scatterwalk_pagedone include/crypto/scatterwalk.h:98 [inline] RIP: 0010:scatterwalk_pagedone include/crypto/scatterwalk.h:82 [inline] RIP: 0010:scatterwalk_copychunks+0x379/0x610 crypto/scatterwalk.c:55 splice_from_pipe+0xbb/0x120 fs/splice.c:662 generic_splice_sendpage+0x10/0x20 fs/splice.c:833 do_splice_from fs/splice.c:852 [inline] do_splice+0xa25/0x12b0 fs/splice.c:1154 __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:0x461229 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:00007f0f95a341a8 EFLAGS: 00000246 ORIG_RAX: 0000000000000113 RAX: ffffffffffffffda RBX: 000000000052bf00 RCX: 0000000000461229 RDX: 0000000000000004 RSI: 0000000000000000 RDI: 0000000000000003 RBP: 0000000000000001 R08: 000000011d100000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000005 R13: 00000000004f8ff8 R14: 00000000004b500d R15: 00007f0f95a346bc Code: ff ff 48 89 c7 e8 97 2c 2a 00 4c 89 f2 48 c1 ea 03 42 80 3c 3a 00 0f 85 a8 01 00 00 48 8d 70 08 49 89 06 48 89 f2 48 c1 ea 03 <42> 0f b6 14 3a 84 d2 74 09 80 fa 03 0f 8e 6b 01 00 00 48 8b 5d d0 FAULT_INJECTION: forcing a failure. name failslab, interval 1, probability 0, space 0, times 0 FAULT_INJECTION: forcing a failure. name failslab, interval 1, probability 0, space 0, times 0 CPU: 1 PID: 6805 Comm: syz-executor.5 Tainted: G D 4.19.209-syzkaller #0 RSP: 0018:ffff8881daac7498 EFLAGS: 00010202 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: __dump_stack lib/dump_stack.c:77 [inline] dump_stack+0x123/0x171 lib/dump_stack.c:118 fail_dump lib/fault-inject.c:51 [inline] should_fail.cold.4+0x5/0xa lib/fault-inject.c:149 RAX: 0000000000000000 RBX: ffff8881daa8476c RCX: 000000000000401d RDX: 0000000000000001 RSI: 0000000000000008 RDI: ffff8881daa84760 __should_failslab+0xba/0xf0 mm/failslab.c:32 RBP: ffff8881daac74f8 R08: ffffed1039ba5804 R09: ffffed1039ba5800 should_failslab+0x9/0x20 mm/slab_common.c:1590 slab_pre_alloc_hook mm/slab.h:424 [inline] slab_alloc mm/slab.c:3383 [inline] __do_kmalloc mm/slab.c:3725 [inline] __kmalloc+0x2dd/0x770 mm/slab.c:3736 R10: 0000000000000000 R11: ffff8881cdd2c01c R12: 0000000000001000 kmalloc include/linux/slab.h:520 [inline] aead_request_alloc include/crypto/aead.h:427 [inline] tls_push_record+0xff/0x1600 net/tls/tls_sw.c:209 R13: 000000000000001d R14: ffff8881daac7538 R15: dffffc0000000000 tls_sw_sendpage+0x462/0xc00 net/tls/tls_sw.c:585 inet_sendpage+0x122/0x600 net/ipv4/af_inet.c:815 kernel_sendpage+0x60/0xd0 net/socket.c:3585 FS: 00007f1493762700(0000) GS:ffff8881f6800000(0000) knlGS:0000000000000000 sock_sendpage+0x6d/0xd0 net/socket.c:912 pipe_to_sendpage+0x212/0x430 fs/splice.c:452 splice_from_pipe_feed fs/splice.c:503 [inline] __splice_from_pipe+0x2cb/0x720 fs/splice.c:627 splice_from_pipe+0xbb/0x120 fs/splice.c:662 generic_splice_sendpage+0x10/0x20 fs/splice.c:833 do_splice_from fs/splice.c:852 [inline] do_splice+0xa25/0x12b0 fs/splice.c:1154 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 __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 CR2: 00007ffc33ca5ff0 CR3: 00000001ce490003 CR4: 00000000003606f0 entry_SYSCALL_64_after_hwframe+0x49/0xbe RIP: 0033:0x461229 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:00007fa5687bb1a8 EFLAGS: 00000246 ORIG_RAX: 0000000000000113 RAX: ffffffffffffffda RBX: 000000000052bf00 RCX: 0000000000461229 RDX: 0000000000000004 RSI: 0000000000000000 RDI: 0000000000000003 RBP: 0000000000000001 R08: 000000011d100000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000005 R13: 00000000004f8ff8 R14: 00000000004b500d R15: 00007fa5687bb6bc CPU: 1 PID: 6806 Comm: syz-executor.0 Tainted: G D 4.19.209-syzkaller #0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: __dump_stack lib/dump_stack.c:77 [inline] dump_stack+0x123/0x171 lib/dump_stack.c:118 fail_dump lib/fault-inject.c:51 [inline] should_fail.cold.4+0x5/0xa lib/fault-inject.c:149 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 __should_failslab+0xba/0xf0 mm/failslab.c:32 should_failslab+0x9/0x20 mm/slab_common.c:1590 slab_pre_alloc_hook mm/slab.h:424 [inline] slab_alloc mm/slab.c:3383 [inline] __do_kmalloc mm/slab.c:3725 [inline] __kmalloc+0x2dd/0x770 mm/slab.c:3736 kmalloc include/linux/slab.h:520 [inline] aead_request_alloc include/crypto/aead.h:427 [inline] tls_push_record+0xff/0x1600 net/tls/tls_sw.c:209 tls_sw_sendpage+0x462/0xc00 net/tls/tls_sw.c:585 ---------------- Code disassembly (best guess), 2 bytes skipped: 0: 48 89 c7 mov %rax,%rdi 3: e8 97 2c 2a 00 callq 0x2a2c9f 8: 4c 89 f2 mov %r14,%rdx b: 48 c1 ea 03 shr $0x3,%rdx f: 42 80 3c 3a 00 cmpb $0x0,(%rdx,%r15,1) 14: 0f 85 a8 01 00 00 jne 0x1c2 1a: 48 8d 70 08 lea 0x8(%rax),%rsi 1e: 49 89 06 mov %rax,(%r14) 21: 48 89 f2 mov %rsi,%rdx 24: 48 c1 ea 03 shr $0x3,%rdx * 28: 42 0f b6 14 3a movzbl (%rdx,%r15,1),%edx <-- trapping instruction 2d: 84 d2 test %dl,%dl 2f: 74 09 je 0x3a 31: 80 fa 03 cmp $0x3,%dl 34: 0f 8e 6b 01 00 00 jle 0x1a5 3a: 48 8b 5d d0 mov -0x30(%rbp),%rbx