bisecting fixing commit since 36c2e31ad25bd087756b8db9584994d1d80c236b
building syzkaller on 5ff41e943946a9e71b55566a02c8b1371fc9b8de
testing commit 36c2e31ad25bd087756b8db9584994d1d80c236b
compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.35.2
kernel signature: 9726f58c4ca5df1289d6cdc32a260b8af32225f528529537d80f0de1ebf2822c
run #0: crashed: BUG: unable to handle kernel NULL pointer dereference in __tcp_transmit_skb
run #1: crashed: BUG: unable to handle kernel NULL pointer dereference in __tcp_transmit_skb
run #2: crashed: BUG: unable to handle kernel NULL pointer dereference in __tcp_transmit_skb
run #3: crashed: KFENCE: use-after-free in __tcp_transmit_skb
run #4: crashed: BUG: unable to handle kernel NULL pointer dereference in __tcp_transmit_skb
run #5: crashed: BUG: unable to handle kernel NULL pointer dereference in __tcp_transmit_skb
run #6: crashed: BUG: unable to handle kernel NULL pointer dereference in __tcp_transmit_skb
run #7: crashed: BUG: unable to handle kernel NULL pointer dereference in __tcp_transmit_skb
run #8: crashed: BUG: unable to handle kernel NULL pointer dereference in __tcp_transmit_skb
run #9: crashed: BUG: unable to handle kernel NULL pointer dereference in __tcp_transmit_skb
run #10: crashed: BUG: unable to handle kernel NULL pointer dereference in __tcp_transmit_skb
run #11: crashed: BUG: unable to handle kernel NULL pointer dereference in __tcp_transmit_skb
run #12: crashed: BUG: unable to handle kernel NULL pointer dereference in __tcp_transmit_skb
run #13: crashed: BUG: unable to handle kernel NULL pointer dereference in __tcp_transmit_skb
run #14: crashed: BUG: unable to handle kernel NULL pointer dereference in __tcp_transmit_skb
run #15: crashed: BUG: unable to handle kernel NULL pointer dereference in __tcp_transmit_skb
run #16: crashed: BUG: unable to handle kernel NULL pointer dereference in __tcp_transmit_skb
run #17: crashed: BUG: unable to handle kernel NULL pointer dereference in __tcp_transmit_skb
run #18: crashed: BUG: unable to handle kernel NULL pointer dereference in __tcp_transmit_skb
run #19: crashed: BUG: unable to handle kernel NULL pointer dereference in __tcp_transmit_skb
testing current HEAD c908565eecf2d310edddaecea6166015abe9df08
testing commit c908565eecf2d310edddaecea6166015abe9df08
compiler: gcc (GCC) 10.2.1 20210217, GNU ld (GNU Binutils for Debian) 2.35.2
kernel signature: 7e6454e00980279fad3f70130b4cb2cb00d86e6d851c9f84c572ab3d6f898438
run #0: basic kernel testing failed: BUG: program execution failed: executor NUM: exit status NUM
run #1: crashed: BUG: unable to handle kernel NULL pointer dereference in __tcp_transmit_skb
run #2: crashed: BUG: unable to handle kernel NULL pointer dereference in __tcp_transmit_skb
run #3: crashed: KFENCE: use-after-free in __tcp_transmit_skb
run #4: crashed: BUG: unable to handle kernel NULL pointer dereference in __tcp_transmit_skb
run #5: crashed: BUG: unable to handle kernel NULL pointer dereference in __tcp_transmit_skb
run #6: crashed: BUG: unable to handle kernel NULL pointer dereference in __tcp_transmit_skb
run #7: crashed: BUG: unable to handle kernel NULL pointer dereference in __tcp_transmit_skb
run #8: crashed: BUG: unable to handle kernel NULL pointer dereference in __tcp_transmit_skb
run #9: crashed: BUG: unable to handle kernel NULL pointer dereference in __tcp_transmit_skb
revisions tested: 2, total time: 19m50.595378808s (build: 11m58.145778359s, test: 7m19.773570271s)
the crash still happens on HEAD
commit msg: Merge tag 'batadv-next-pullrequest-20220508' of git://git.open-mesh.org/linux-merge
crash: BUG: unable to handle kernel NULL pointer dereference in __tcp_transmit_skb
BUG: kernel NULL pointer dereference, address: 0000000000000000
#PF: supervisor instruction fetch in kernel mode
#PF: error_code(0x0010) - not-present page
PGD 6cc19067 P4D 6cc19067 PUD 0
Oops: 0010 [#1] PREEMPT SMP KASAN
CPU: 1 PID: 0 Comm: swapper/1 Not tainted 5.18.0-rc5-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
RIP: 0010:0x0
Code: Unable to access opcode bytes at RIP 0xffffffffffffffd6.
RSP: 0018:ffffc900001e0b00 EFLAGS: 00010246
RAX: dffffc0000000000 RBX: ffff8880239aaa88 RCX: 0000000000000000
RDX: 1ffff11004735552 RSI: ffff888019dfb000 RDI: ffff888078dc1800
RBP: ffff888078dc1800 R08: 0000000000000000 R09: 0000000000000000
R10: ffff88807cda6138 R11: 0000000000000000 R12: ffff888019dfb000
R13: ffff888078dc1f58 R14: ffff888019dfb034 R15: ffff888078dc2156
FS: 0000000000000000(0000) GS:ffff8880b9f00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: ffffffffffffffd6 CR3: 000000006cc51000 CR4: 00000000003506e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
__tcp_transmit_skb+0xf09/0x37d0 net/ipv4/tcp_output.c:1374
tcp_send_probe0+0x3d/0x4e0 net/ipv4/tcp_output.c:4080
tcp_probe_timer net/ipv4/tcp_timer.c:398 [inline]
tcp_write_timer_handler+0x827/0x970 net/ipv4/tcp_timer.c:626
tcp_write_timer+0x79/0x1b0 net/ipv4/tcp_timer.c:642
call_timer_fn+0x163/0x4a0 kernel/time/timer.c:1421
expire_timers kernel/time/timer.c:1466 [inline]
__run_timers.part.0+0x530/0x8e0 kernel/time/timer.c:1737
__run_timers kernel/time/timer.c:1715 [inline]
run_timer_softirq+0x9c/0x190 kernel/time/timer.c:1750
__do_softirq+0x29b/0x9c2 kernel/softirq.c:558
invoke_softirq kernel/softirq.c:432 [inline]
__irq_exit_rcu+0x123/0x180 kernel/softirq.c:637
irq_exit_rcu+0x5/0x20 kernel/softirq.c:649
sysvec_apic_timer_interrupt+0x93/0xc0 arch/x86/kernel/apic/apic.c:1097
asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:645
RIP: 0010:native_save_fl arch/x86/include/asm/irqflags.h:29 [inline]
RIP: 0010:arch_local_save_flags arch/x86/include/asm/irqflags.h:70 [inline]
RIP: 0010:arch_irqs_disabled arch/x86/include/asm/irqflags.h:130 [inline]
RIP: 0010:acpi_safe_halt drivers/acpi/processor_idle.c:111 [inline]
RIP: 0010:acpi_idle_do_entry+0x15e/0x1c0 drivers/acpi/processor_idle.c:551
Code: 00 00 00 00 00 fc ff df 48 c1 ea 03 80 3c 02 00 75 6a 48 8b 45 00 a8 08 75 c9 e8 bd 68 df f8 eb 07 0f 00 2d e4 a0 ba 00 fb f4 <9c> 58 fa f6 c4 02 74 b1 5d e9 94 67 df f8 48 89 ef 5d e9 ab f9 ff
RSP: 0018:ffffc90000177d38 EFLAGS: 00000206
RAX: 0000000000059c1d RBX: ffff888015ae5865 RCX: 1ffffffff198eb79
RDX: 0000000000000000 RSI: ffffffff88eb90a0 RDI: ffffffff8942c6a0
RBP: ffff888010e29d40 R08: 0000000000000001 R09: 0000000000000001
R10: ffffed10021c53a8 R11: 0000000000000001 R12: 0000000000000001
R13: ffff888015ae5864 R14: ffffffff8b93a380 R15: ffff8880190f0004
acpi_idle_enter+0x2c0/0x4b0 drivers/acpi/processor_idle.c:686
cpuidle_enter_state+0x152/0xb40 drivers/cpuidle/cpuidle.c:237
cpuidle_enter+0x45/0xa0 drivers/cpuidle/cpuidle.c:351
call_cpuidle kernel/sched/idle.c:155 [inline]
cpuidle_idle_call kernel/sched/idle.c:236 [inline]
do_idle+0x3e8/0x590 kernel/sched/idle.c:303
cpu_startup_entry+0x14/0x20 kernel/sched/idle.c:400
start_secondary+0x224/0x2c0 arch/x86/kernel/smpboot.c:266
secondary_startup_64_no_verify+0xc3/0xcb
Modules linked in:
CR2: 0000000000000000
---[ end trace 0000000000000000 ]---
RIP: 0010:0x0
Code: Unable to access opcode bytes at RIP 0xffffffffffffffd6.
RSP: 0018:ffffc900001e0b00 EFLAGS: 00010246
RAX: dffffc0000000000 RBX: ffff8880239aaa88 RCX: 0000000000000000
RDX: 1ffff11004735552 RSI: ffff888019dfb000 RDI: ffff888078dc1800
RBP: ffff888078dc1800 R08: 0000000000000000 R09: 0000000000000000
R10: ffff88807cda6138 R11: 0000000000000000 R12: ffff888019dfb000
R13: ffff888078dc1f58 R14: ffff888019dfb034 R15: ffff888078dc2156
FS: 0000000000000000(0000) GS:ffff8880b9f00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: ffffffffffffffd6 CR3: 000000006cc51000 CR4: 00000000003506e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
----------------
Code disassembly (best guess):
0: 00 00 add %al,(%rax)
2: 00 00 add %al,(%rax)
4: 00 fc add %bh,%ah
6: ff (bad)
7: df 48 c1 fisttps -0x3f(%rax)
a: ea (bad)
b: 03 80 3c 02 00 75 add 0x7500023c(%rax),%eax
11: 6a 48 pushq $0x48
13: 8b 45 00 mov 0x0(%rbp),%eax
16: a8 08 test $0x8,%al
18: 75 c9 jne 0xffffffe3
1a: e8 bd 68 df f8 callq 0xf8df68dc
1f: eb 07 jmp 0x28
21: 0f 00 2d e4 a0 ba 00 verw 0xbaa0e4(%rip) # 0xbaa10c
28: fb sti
29: f4 hlt
* 2a: 9c pushfq <-- trapping instruction
2b: 58 pop %rax
2c: fa cli
2d: f6 c4 02 test $0x2,%ah
30: 74 b1 je 0xffffffe3
32: 5d pop %rbp
33: e9 94 67 df f8 jmpq 0xf8df67cc
38: 48 89 ef mov %rbp,%rdi
3b: 5d pop %rbp
3c: e9 .byte 0xe9
3d: ab stos %eax,%es:(%rdi)
3e: f9 stc
3f: ff .byte 0xff