bisecting fixing commit since 4fccc2503536a564a4ba31a1d50439854201659f building syzkaller on 2c36e7a75f8689b3da20e1a81a2ee5391f3af6e5 testing commit 4fccc2503536a564a4ba31a1d50439854201659f compiler: gcc version 8.4.1 20210217 (GCC) kernel signature: abf95a3118c208037643aabf26433fe7fa3396e1490e593f01f5bcdc5cd51723 all runs: crashed: general protection fault in macvlan_hard_header testing current HEAD b172b44fcb1771e083aad806fa96f3f60e2ddfac testing commit b172b44fcb1771e083aad806fa96f3f60e2ddfac compiler: gcc version 8.4.1 20210217 (GCC) kernel signature: c70284a49784602a7f0e9c995da115f3e6c31b5c8c1d6ca82e66a1e15ea7b9ff all runs: crashed: general protection fault in macvlan_hard_header revisions tested: 2, total time: 28m44.381914356s (build: 21m23.267423798s, test: 6m43.198633778s) the crash still happens on HEAD commit msg: Linux 4.19.206 crash: general protection fault in macvlan_hard_header IPv6: ADDRCONF(NETDEV_CHANGE): vcan0: link becomes ready IPv6: ADDRCONF(NETDEV_CHANGE): vxcan0: link becomes ready IPv6: ADDRCONF(NETDEV_CHANGE): vxcan1: link becomes ready 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: 0 Comm: swapper/0 Not tainted 4.19.206-syzkaller #0 team0: Device macvtap0 is up. Set it down before adding it as a team port Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 RIP: 0010:dev_hard_header include/linux/netdevice.h:2883 [inline] RIP: 0010:macvlan_hard_header+0x7e/0x190 drivers/net/macvlan.c:593 Code: c1 ee 03 80 3c 06 00 0f 85 82 00 00 00 4c 8b a3 20 02 00 00 4d 85 e4 74 3a 48 b8 00 00 00 00 00 fc ff df 4c 89 e6 48 c1 ee 03 <80> 3c 06 00 0f 85 b3 00 00 00 49 8b 04 24 48 85 c0 74 16 48 89 de RSP: 0018:ffff8881f68077e8 EFLAGS: 00010207 RAX: dffffc0000000000 RBX: ffffffff895b5420 RCX: ffff8881dcdaf378 RDX: 00000000000086dd RSI: 00000006e0044006 RDI: ffffffff895b5640 RBP: ffff8881f6807828 R08: ffff8881e9438510 R09: 0000000000000038 R10: 1ffff1103cd5ae06 R11: 0000000000000000 R12: 0000003700220037 R13: ffff8881e7eca980 R14: ffff8881e7eca980 R15: ffff8881dcdaf200 FS: 0000000000000000(0000) GS:ffff8881f6800000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007fad3b148018 CR3: 000000000846d001 CR4: 00000000001606f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: dev_hard_header include/linux/netdevice.h:2886 [inline] neigh_resolve_output net/core/neighbour.c:1369 [inline] neigh_resolve_output+0x46c/0x810 net/core/neighbour.c:1354 neigh_output include/net/neighbour.h:501 [inline] ip6_finish_output2+0x8f6/0x2200 net/ipv6/ip6_output.c:120 ip6_finish_output+0x3c8/0xf90 net/ipv6/ip6_output.c:192 NF_HOOK_COND include/linux/netfilter.h:278 [inline] ip6_output+0x1bf/0x660 net/ipv6/ip6_output.c:209 dst_output include/net/dst.h:455 [inline] NF_HOOK include/linux/netfilter.h:289 [inline] ndisc_send_skb+0xcc8/0x12d0 net/ipv6/ndisc.c:491 ndisc_send_rs+0x116/0x5e0 net/ipv6/ndisc.c:685 addrconf_rs_timer+0x25c/0x5e0 net/ipv6/addrconf.c:3835 call_timer_fn+0x14c/0x510 kernel/time/timer.c:1338 expire_timers kernel/time/timer.c:1375 [inline] __run_timers kernel/time/timer.c:1696 [inline] __run_timers kernel/time/timer.c:1664 [inline] run_timer_softirq+0xb63/0x1180 kernel/time/timer.c:1709 __do_softirq+0x25f/0x919 kernel/softirq.c:292 invoke_softirq kernel/softirq.c:372 [inline] irq_exit+0x17f/0x1c0 kernel/softirq.c:412 exiting_irq arch/x86/include/asm/apic.h:536 [inline] smp_apic_timer_interrupt+0x13e/0x540 arch/x86/kernel/apic/apic.c:1098 apic_timer_interrupt+0xf/0x20 arch/x86/entry/entry_64.S:894 RIP: 0010:native_safe_halt+0x12/0x20 arch/x86/include/asm/irqflags.h:61 Code: 11 ff ff ff 4c 89 e7 e8 3c 0d b1 fa eb 97 90 90 90 90 90 90 90 90 90 90 55 48 89 e5 e9 07 00 00 00 0f 00 2d 80 32 48 00 fb f4 <5d> c3 66 66 2e 0f 1f 84 00 00 00 00 00 90 55 48 89 e5 e9 07 00 00 RSP: 0018:ffffffff88407c88 EFLAGS: 00000282 ORIG_RAX: ffffffffffffff13 RAX: dffffc0000000000 RBX: ffffffff88479300 RCX: 0000000000000000 RDX: 1ffffffff10a3f8c RSI: 0000000000000001 RDI: ffffffff8851fc60 RBP: ffffffff88407c88 R08: ffffed103ed0473b R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000 R13: ffffffff8851fc50 R14: ffffffff89232e18 R15: 0000000000000000 arch_safe_halt arch/x86/include/asm/paravirt.h:94 [inline] default_idle+0x51/0x310 arch/x86/kernel/process.c:557 arch_cpu_idle+0xa/0x10 arch/x86/kernel/process.c:548 default_idle_call+0x6d/0x90 kernel/sched/idle.c:93 cpuidle_idle_call kernel/sched/idle.c:153 [inline] do_idle+0x41e/0x560 kernel/sched/idle.c:263 cpu_startup_entry+0xc8/0xe0 kernel/sched/idle.c:369 rest_init+0x193/0x199 init/main.c:441 start_kernel+0x58b/0x5c7 init/main.c:736 x86_64_start_reservations+0x29/0x2b arch/x86/kernel/head64.c:490 IPv6: ADDRCONF(NETDEV_CHANGE): vcan0: link becomes ready x86_64_start_kernel+0x76/0x79 arch/x86/kernel/head64.c:471 secondary_startup_64+0xa4/0xb0 arch/x86/kernel/head_64.S:243 Modules linked in: ---[ end trace 3fc904187e009e8d ]--- IPv6: ADDRCONF(NETDEV_CHANGE): vxcan0: link becomes ready RIP: 0010:dev_hard_header include/linux/netdevice.h:2883 [inline] RIP: 0010:macvlan_hard_header+0x7e/0x190 drivers/net/macvlan.c:593 Code: c1 ee 03 80 3c 06 00 0f 85 82 00 00 00 4c 8b a3 20 02 00 00 4d 85 e4 74 3a 48 b8 00 00 00 00 00 fc ff df 4c 89 e6 48 c1 ee 03 <80> 3c 06 00 0f 85 b3 00 00 00 49 8b 04 24 48 85 c0 74 16 48 89 de RSP: 0018:ffff8881f68077e8 EFLAGS: 00010207 RAX: dffffc0000000000 RBX: ffffffff895b5420 RCX: ffff8881dcdaf378 RDX: 00000000000086dd RSI: 00000006e0044006 RDI: ffffffff895b5640 RBP: ffff8881f6807828 R08: ffff8881e9438510 R09: 0000000000000038 R10: 1ffff1103cd5ae06 R11: 0000000000000000 R12: 0000003700220037 R13: ffff8881e7eca980 R14: ffff8881e7eca980 R15: ffff8881dcdaf200 FS: 0000000000000000(0000) GS:ffff8881f6800000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007fad3b148018 CR3: 000000000846d001 CR4: 00000000001606f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 ---------------- Code disassembly (best guess): 0: c1 ee 03 shr $0x3,%esi 3: 80 3c 06 00 cmpb $0x0,(%rsi,%rax,1) 7: 0f 85 82 00 00 00 jne 0x8f d: 4c 8b a3 20 02 00 00 mov 0x220(%rbx),%r12 14: 4d 85 e4 test %r12,%r12 17: 74 3a je 0x53 19: 48 b8 00 00 00 00 00 movabs $0xdffffc0000000000,%rax 20: fc ff df 23: 4c 89 e6 mov %r12,%rsi 26: 48 c1 ee 03 shr $0x3,%rsi * 2a: 80 3c 06 00 cmpb $0x0,(%rsi,%rax,1) <-- trapping instruction 2e: 0f 85 b3 00 00 00 jne 0xe7 34: 49 8b 04 24 mov (%r12),%rax 38: 48 85 c0 test %rax,%rax 3b: 74 16 je 0x53 3d: 48 89 de mov %rbx,%rsi