bisecting cause commit starting from 9386ebccfc599de5578a278ffb16d90cc696969a building syzkaller on b17b2923e60fea9f22c4a2161742e16f41b84980 testing commit 9386ebccfc599de5578a278ffb16d90cc696969a compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.35.2 kernel signature: aeeb859784d2b7f9eefa4feb073f97c1a6fe9d0d4ac1d1ebabcc740946a7d87e run #0: basic kernel testing failed: BUG: program execution failed: executor NUM: exit status NUM run #1: OK run #2: crashed: general protection fault in ip6_rcv_core run #3: crashed: general protection fault in ip6_rcv_core run #4: crashed: general protection fault in ip6_rcv_core run #5: crashed: general protection fault in ip6_rcv_core run #6: crashed: general protection fault in ip6_rcv_core run #7: crashed: general protection fault in ip6_rcv_core run #8: crashed: general protection fault in ip6_rcv_core run #9: crashed: general protection fault in ip6_rcv_core run #10: crashed: general protection fault in ip6_rcv_core run #11: crashed: general protection fault in ip6_rcv_core run #12: crashed: general protection fault in ip6_rcv_core run #13: crashed: general protection fault in ip6_rcv_core run #14: crashed: general protection fault in ip6_rcv_core run #15: crashed: general protection fault in ip6_rcv_core run #16: crashed: general protection fault in ip6_rcv_core run #17: crashed: general protection fault in ip6_rcv_core run #18: crashed: general protection fault in ip6_rcv_core run #19: crashed: general protection fault in ip6_rcv_core testing release v5.17 testing commit f443e374ae131c168a065ea1748feac6b2e76613 compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.35.2 kernel signature: c95b52c22bd1abcacd6b303395318ac18fe7792789eef5098a314739e963c995 run #0: basic kernel testing failed: BUG: program execution failed: executor NUM: exit status NUM run #1: OK run #2: OK run #3: OK run #4: OK run #5: OK run #6: OK run #7: OK run #8: OK run #9: OK # git bisect start 9386ebccfc599de5578a278ffb16d90cc696969a f443e374ae131c168a065ea1748feac6b2e76613 Bisecting: 7013 revisions left to test after this (roughly 13 steps) [169e77764adc041b1dacba84ea90516a895d43b2] Merge tag 'net-next-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next testing commit 169e77764adc041b1dacba84ea90516a895d43b2 compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.35.2 kernel signature: 4320eed45f98714c5984dc34e477a2679a059283f5697b3502fb0de98f44280d run #0: basic kernel testing failed: BUG: program execution failed: executor NUM: failed to write control pipe: write |NUM: broken pipe run #1: OK run #2: OK run #3: OK run #4: OK run #5: OK run #6: OK run #7: OK run #8: OK run #9: OK # git bisect good 169e77764adc041b1dacba84ea90516a895d43b2 Bisecting: 3428 revisions left to test after this (roughly 12 steps) [710f5d627a98e86f821aceb840b8f2f1fcc6cf75] Merge tag 'usb-5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb testing commit 710f5d627a98e86f821aceb840b8f2f1fcc6cf75 compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.35.2 kernel signature: 6a750f8da5201f246fa27a167d0266eed5651e3e2988112e06e5888d4e8d5b70 run #0: basic kernel testing failed: BUG: program execution failed: executor NUM: failed to write control pipe: write |NUM: broken pipe run #1: OK run #2: OK run #3: OK run #4: OK run #5: OK run #6: OK run #7: OK run #8: OK run #9: OK # git bisect good 710f5d627a98e86f821aceb840b8f2f1fcc6cf75 Bisecting: 1702 revisions left to test after this (roughly 11 steps) [d717e4cae0fe77e10a27e8545a967b8c379873ac] Merge tag 'net-5.18-rc0' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net testing commit d717e4cae0fe77e10a27e8545a967b8c379873ac compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.35.2 kernel signature: d6479c38da531e8e7efc23dd80d48a847d45dbbec6db27d4464176784aa890c8 all runs: OK # git bisect good d717e4cae0fe77e10a27e8545a967b8c379873ac Bisecting: 834 revisions left to test after this (roughly 10 steps) [6a34fdcca452457a530980be2561dab06da3627f] Merge tag 'rtc-5.18' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux testing commit 6a34fdcca452457a530980be2561dab06da3627f compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.35.2 kernel signature: ac405833d25fec1c2146d401eb09aab3f8e36b20f170811e86f767e949178f7a all runs: OK # git bisect good 6a34fdcca452457a530980be2561dab06da3627f Bisecting: 417 revisions left to test after this (roughly 9 steps) [135a161a5ea9e4f01b37defa53e7f5db43a7ca99] ice: switch: add and use u16[] aliases to ice_adv_lkup_elem::{h, m}_u testing commit 135a161a5ea9e4f01b37defa53e7f5db43a7ca99 compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.35.2 kernel signature: 26a29d755486bb2eea0df05019a5b49b507c1d7310e4832a90816f34d3abfaba all runs: OK # git bisect good 135a161a5ea9e4f01b37defa53e7f5db43a7ca99 Bisecting: 177 revisions left to test after this (roughly 8 steps) [34ba23b44c664792a4308ec37b5788a3162944ec] Merge https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next testing commit 34ba23b44c664792a4308ec37b5788a3162944ec compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.35.2 kernel signature: ee241c58998d6b78c5aeac5b04ead315d2242bc342f6d225a5b720126ced051b all runs: OK # git bisect good 34ba23b44c664792a4308ec37b5788a3162944ec Bisecting: 88 revisions left to test after this (roughly 7 steps) [1a915b234291d66a19f7b74dea89ef7cb4077d4e] Merge branch 'net-bridge-add-support-for-host-l2-mdb-entries' testing commit 1a915b234291d66a19f7b74dea89ef7cb4077d4e compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.35.2 kernel signature: 9ebe4f69708b93f359e27000b0002862cc2d38c84091d28a8102f32ca4a98a34 all runs: OK # git bisect good 1a915b234291d66a19f7b74dea89ef7cb4077d4e Bisecting: 42 revisions left to test after this (roughly 6 steps) [17e415cf6aa9f0fc4a1f556287fe9bd37a9f4fc3] Merge branch '40GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue testing commit 17e415cf6aa9f0fc4a1f556287fe9bd37a9f4fc3 compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.35.2 kernel signature: d4487769e44dab53af7cda2ae72428340099dcca77813a033c803a8be1732f63 all runs: OK # git bisect good 17e415cf6aa9f0fc4a1f556287fe9bd37a9f4fc3 Bisecting: 21 revisions left to test after this (roughly 5 steps) [ea2c0f9e3fc2f94f090d693b7235c02af1289629] net: rtnetlink: add ndm flags and state mask attributes testing commit ea2c0f9e3fc2f94f090d693b7235c02af1289629 compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.35.2 kernel signature: 16a83ac67c9c05e9dfff615cfc10ce366b0848936bb0dd79a61df722c8f618e1 all runs: OK # git bisect good ea2c0f9e3fc2f94f090d693b7235c02af1289629 Bisecting: 10 revisions left to test after this (roughly 4 steps) [dba47afdc7d51b22dd9223a391d2b5ceb9bbe30c] Merge branch 'octeon_ep-driver' testing commit dba47afdc7d51b22dd9223a391d2b5ceb9bbe30c compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.35.2 kernel signature: 279dad553a3154aed5b468292382af88b54589f0033193ee67da19ca35e80644 all runs: OK # git bisect good dba47afdc7d51b22dd9223a391d2b5ceb9bbe30c Bisecting: 5 revisions left to test after this (roughly 3 steps) [1ad6d548e2a452f21bcee4606ee4ec7afcde5f37] net: icmp: introduce function icmpv6_param_prob_reason() testing commit 1ad6d548e2a452f21bcee4606ee4ec7afcde5f37 compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.35.2 kernel signature: 0fcc3ba972f55cd534238fb2525e2a660a34685029ea233e3639577841a8de9e all runs: OK # git bisect good 1ad6d548e2a452f21bcee4606ee4ec7afcde5f37 Bisecting: 2 revisions left to test after this (roughly 2 steps) [4daf841a2ef3b2e987894c8107d309ce2b67c202] net: ipv6: add skb drop reasons to ip6_rcv_core() testing commit 4daf841a2ef3b2e987894c8107d309ce2b67c202 compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.35.2 kernel signature: fe84124a0529cfd60b1799ce02fa0ccc41c93bfaab3d986dc78e408fa3807f39 all runs: crashed: general protection fault in ip6_rcv_core # git bisect bad 4daf841a2ef3b2e987894c8107d309ce2b67c202 Bisecting: 0 revisions left to test after this (roughly 1 step) [7d9dbdfbfdc5e52131bea94a7318ee35b15a5f19] net: ipv6: add skb drop reasons to TLV parse testing commit 7d9dbdfbfdc5e52131bea94a7318ee35b15a5f19 compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.35.2 kernel signature: 142ab5d546968ee5dbc6a9eaedecbc25db2c3c215977bba1b4d82c5cebea11b3 all runs: OK # git bisect good 7d9dbdfbfdc5e52131bea94a7318ee35b15a5f19 4daf841a2ef3b2e987894c8107d309ce2b67c202 is the first bad commit commit 4daf841a2ef3b2e987894c8107d309ce2b67c202 Author: Menglong Dong Date: Wed Apr 13 16:15:59 2022 +0800 net: ipv6: add skb drop reasons to ip6_rcv_core() Replace kfree_skb() used in ip6_rcv_core() with kfree_skb_reason(). No new drop reasons are added. Seems now we use 'SKB_DROP_REASON_IP_INHDR' for too many case during ipv6 header parse or check, just like what 'IPSTATS_MIB_INHDRERRORS' do. Will it be too general and hard to know what happened? Signed-off-by: Menglong Dong Reviewed-by: Jiang Biao Reviewed-by: Hao Peng Signed-off-by: David S. Miller net/ipv6/ip6_input.c | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) culprit signature: fe84124a0529cfd60b1799ce02fa0ccc41c93bfaab3d986dc78e408fa3807f39 parent signature: 142ab5d546968ee5dbc6a9eaedecbc25db2c3c215977bba1b4d82c5cebea11b3 revisions tested: 15, total time: 2h26m26.622470918s (build: 1h45m8.663813016s, test: 39m52.231037228s) first bad commit: 4daf841a2ef3b2e987894c8107d309ce2b67c202 net: ipv6: add skb drop reasons to ip6_rcv_core() recipients (to): ["benbjiang@tencent.com" "davem@davemloft.net" "flyingpeng@tencent.com" "imagedong@tencent.com"] recipients (cc): [] crash: general protection fault in ip6_rcv_core general protection fault, probably for non-canonical address 0xdffffc00000000cd: 0000 [#1] PREEMPT SMP KASAN KASAN: null-ptr-deref in range [0x0000000000000668-0x000000000000066f] CPU: 0 PID: 141 Comm: kworker/0:2 Not tainted 5.18.0-rc1-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Workqueue: mld mld_ifc_work RIP: 0010:ip6_rcv_core+0xffb/0x1c70 net/ipv6/ip6_input.c:169 Code: 3c 02 00 0f 85 c6 09 00 00 48 8b 04 24 4c 89 f2 48 c1 ea 03 48 8b 80 b0 02 00 00 65 48 ff 40 68 48 b8 00 00 00 00 00 fc ff df <0f> b6 14 02 4c 89 f0 83 e0 07 83 c0 03 38 d0 7c 08 84 d2 0f 85 7f RSP: 0018:ffffc90000007c78 EFLAGS: 00010203 RAX: dffffc0000000000 RBX: 0000000000000000 RCX: ffffffff87496221 RDX: 00000000000000cd RSI: ffffffff89f00fa0 RDI: ffffffff8942d960 RBP: ffff888022001b40 R08: 0000000000000000 R09: ffff888022001c17 R10: ffffed1004400382 R11: 0000000000000001 R12: ffff88801f50a000 R13: ffff888076b702b0 R14: 000000000000066c R15: ffff888022001bb0 FS: 0000000000000000(0000) GS:ffff8880b9e00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007fb66900e420 CR3: 000000000aa8e000 CR4: 00000000003506f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: ipv6_rcv+0x6a/0x320 net/ipv6/ip6_input.c:303 __netif_receive_skb_one_core+0x104/0x180 net/core/dev.c:5408 process_backlog+0x2e4/0x6d0 net/core/dev.c:5850 __napi_poll+0x96/0x510 net/core/dev.c:6416 napi_poll net/core/dev.c:6483 [inline] net_rx_action+0x7b2/0xb40 net/core/dev.c:6570 __do_softirq+0x29b/0x9c2 kernel/softirq.c:558 do_softirq.part.0+0xde/0x130 kernel/softirq.c:459 do_softirq kernel/softirq.c:451 [inline] __local_bh_enable_ip+0x102/0x120 kernel/softirq.c:383 local_bh_enable include/linux/bottom_half.h:33 [inline] rcu_read_unlock_bh include/linux/rcupdate.h:764 [inline] ip6_finish_output2+0x47d/0x1210 net/ipv6/ip6_output.c:127 dst_output include/net/dst.h:451 [inline] NF_HOOK include/linux/netfilter.h:307 [inline] NF_HOOK include/linux/netfilter.h:301 [inline] mld_sendpack+0x8e6/0xc70 net/ipv6/mcast.c:1818 mld_send_cr net/ipv6/mcast.c:2119 [inline] mld_ifc_work+0x565/0xa90 net/ipv6/mcast.c:2651 process_one_work+0x865/0x13d0 kernel/workqueue.c:2289 worker_thread+0x598/0xec0 kernel/workqueue.c:2436 kthread+0x299/0x340 kernel/kthread.c:376 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:298 Modules linked in: ---[ end trace 0000000000000000 ]--- RIP: 0010:ip6_rcv_core+0xffb/0x1c70 net/ipv6/ip6_input.c:169 Code: 3c 02 00 0f 85 c6 09 00 00 48 8b 04 24 4c 89 f2 48 c1 ea 03 48 8b 80 b0 02 00 00 65 48 ff 40 68 48 b8 00 00 00 00 00 fc ff df <0f> b6 14 02 4c 89 f0 83 e0 07 83 c0 03 38 d0 7c 08 84 d2 0f 85 7f RSP: 0018:ffffc90000007c78 EFLAGS: 00010203 RAX: dffffc0000000000 RBX: 0000000000000000 RCX: ffffffff87496221 RDX: 00000000000000cd RSI: ffffffff89f00fa0 RDI: ffffffff8942d960 RBP: ffff888022001b40 R08: 0000000000000000 R09: ffff888022001c17 R10: ffffed1004400382 R11: 0000000000000001 R12: ffff88801f50a000 R13: ffff888076b702b0 R14: 000000000000066c R15: ffff888022001bb0 FS: 0000000000000000(0000) GS:ffff8880b9e00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007fb66900e420 CR3: 000000000aa8e000 CR4: 00000000003506f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 ---------------- Code disassembly (best guess): 0: 3c 02 cmp $0x2,%al 2: 00 0f add %cl,(%rdi) 4: 85 c6 test %eax,%esi 6: 09 00 or %eax,(%rax) 8: 00 48 8b add %cl,-0x75(%rax) b: 04 24 add $0x24,%al d: 4c 89 f2 mov %r14,%rdx 10: 48 c1 ea 03 shr $0x3,%rdx 14: 48 8b 80 b0 02 00 00 mov 0x2b0(%rax),%rax 1b: 65 48 ff 40 68 incq %gs:0x68(%rax) 20: 48 b8 00 00 00 00 00 movabs $0xdffffc0000000000,%rax 27: fc ff df * 2a: 0f b6 14 02 movzbl (%rdx,%rax,1),%edx <-- trapping instruction 2e: 4c 89 f0 mov %r14,%rax 31: 83 e0 07 and $0x7,%eax 34: 83 c0 03 add $0x3,%eax 37: 38 d0 cmp %dl,%al 39: 7c 08 jl 0x43 3b: 84 d2 test %dl,%dl 3d: 0f .byte 0xf 3e: 85 .byte 0x85 3f: 7f .byte 0x7f