syzbot


BUG: soft lockup in tcp_write_timer (3)

Status: closed as invalid on 2024/03/18 17:07
Subsystems: net
[Documentation on labels]
First crash: 220d, last: 112d
Similar bugs (9)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
linux-4.19 BUG: soft lockup in tcp_write_timer (3) 2 486d 499d 0/1 upstream: reported on 2022/12/17 21:41
linux-4.14 BUG: soft lockup in tcp_write_timer 2 1453d 1532d 0/1 auto-closed as invalid on 2020/09/05 12:42
linux-4.19 BUG: soft lockup in tcp_write_timer (2) 2 896d 959d 0/1 auto-closed as invalid on 2022/03/16 10:56
linux-4.19 BUG: soft lockup in tcp_write_timer 1 1124d 1124d 0/1 auto-closed as invalid on 2021/07/30 14:52
upstream BUG: soft lockup in tcp_write_timer net 11 1732d 1740d 0/26 auto-closed as invalid on 2019/10/25 14:11
upstream BUG: soft lockup in tcp_write_timer (2) kvm 1 735d 735d 0/26 auto-closed as invalid on 2022/06/24 22:31
android-5-15 BUG: soft lockup in tcp_write_timer 3 2d21h 8d23h 0/2 premoderation: reported on 2024/04/21 15:01
upstream INFO: rcu detected stall in tcp_write_timer (2) bpf 2 1183d 1238d 0/26 auto-closed as invalid on 2021/05/03 11:59
upstream INFO: rcu detected stall in tcp_write_timer (3) net 1 1050d 1050d 0/26 auto-closed as invalid on 2021/09/13 13:17

Sample crash report:
watchdog: BUG: soft lockup - CPU#0 stuck for 113s! [syz-executor.3:19612]
Modules linked in:
irq event stamp: 0
hardirqs last  enabled at (0): [<0000000000000000>] 0x0
hardirqs last disabled at (0): [<ffffffff814d74f7>] copy_process+0x21e7/0x7400 kernel/fork.c:2442
softirqs last  enabled at (0): [<ffffffff814d7538>] copy_process+0x2228/0x7400 kernel/fork.c:2446
softirqs last disabled at (0): [<0000000000000000>] 0x0
CPU: 0 PID: 19612 Comm: syz-executor.3 Not tainted 6.6.0-rc1-syzkaller-00205-g9077fc228f09 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/06/2023
RIP: 0010:__sanitizer_cov_trace_switch+0x16/0x90 kernel/kcov.c:324
Code: 89 fe bf 07 00 00 00 e9 78 fe ff ff 0f 1f 84 00 00 00 00 00 f3 0f 1e fa 41 56 41 55 41 54 49 89 fc 55 48 89 f5 53 48 8b 46 08 <48> 83 f8 20 74 63 77 44 48 83 f8 08 74 53 48 83 f8 10 75 2f 41 bd
RSP: 0018:ffffc90000007b38 EFLAGS: 00000202
RAX: 0000000000000008 RBX: 0000000000000001 RCX: 0000000000000100
RDX: 0000000000000006 RSI: ffffffff8ba2b3a0 RDI: 0000000000000001
RBP: ffffffff8ba2b3a0 R08: 0000000000000000 R09: 0000000000000000
R10: ffffffff8ece27d7 R11: 0000000000000001 R12: 0000000000000001
R13: ffff88807d53d900 R14: 00000000000041a0 R15: 0000000000000000
FS:  0000000000000000(0000) GS:ffff8880b9800000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000001b32e27000 CR3: 0000000051e3f000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000600
Call Trace:
 <IRQ>
 kfree_skbmem+0x50/0x1b0 net/core/skbuff.c:1008
 tcp_wmem_free_skb include/net/tcp.h:300 [inline]
 tcp_write_queue_purge+0x186/0xd60 net/ipv4/tcp.c:2952
 tcp_write_err net/ipv4/tcp_timer.c:75 [inline]
 tcp_probe_timer net/ipv4/tcp_timer.c:411 [inline]
 tcp_write_timer_handler net/ipv4/tcp_timer.c:672 [inline]
 tcp_write_timer_handler+0x49c/0xa00 net/ipv4/tcp_timer.c:642
 tcp_write_timer+0xa6/0x2b0 net/ipv4/tcp_timer.c:685
 call_timer_fn+0x1a0/0x580 kernel/time/timer.c:1700
 expire_timers kernel/time/timer.c:1751 [inline]
 __run_timers+0x764/0xb10 kernel/time/timer.c:2022
 run_timer_softirq+0x58/0xd0 kernel/time/timer.c:2035
 __do_softirq+0x218/0x965 kernel/softirq.c:553
 invoke_softirq kernel/softirq.c:427 [inline]
 __irq_exit_rcu kernel/softirq.c:632 [inline]
 irq_exit_rcu+0xb7/0x120 kernel/softirq.c:644
 sysvec_apic_timer_interrupt+0x93/0xc0 arch/x86/kernel/apic/apic.c:1074
 </IRQ>
 <TASK>
 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:645
RIP: 0010:__sanitizer_cov_trace_pc+0x0/0x70 kernel/kcov.c:200
Code: c6 6b 9d 02 66 0f 1f 44 00 00 f3 0f 1e fa 48 8b be b0 01 00 00 e8 b0 ff ff ff 31 c0 c3 66 66 2e 0f 1f 84 00 00 00 00 00 66 90 <f3> 0f 1e fa 65 8b 05 3d ee 7b 7e 89 c1 48 8b 34 24 81 e1 00 01 00
RSP: 0018:ffffc90003bbf150 EFLAGS: 00000246
RAX: 0000000000000000 RBX: ffffc90003bbf1d8 RCX: ffffffff813a561a
RDX: ffff8880196c1dc0 RSI: 0000000000000000 RDI: 0000000000000001
RBP: 0000000000000001 R08: 0000000000000001 R09: 0000000000000004
R10: 0000000000000001 R11: dffffc0000000000 R12: ffffffff8f61a174
R13: ffffc90003bbf480 R14: 0000000000000001 R15: 0000000000000001
 unwind_next_frame+0x1a25/0x2390 arch/x86/kernel/unwind_orc.c:648
 arch_stack_walk+0xfa/0x170 arch/x86/kernel/stacktrace.c:25
 stack_trace_save+0x96/0xd0 kernel/stacktrace.c:122
 save_stack+0x160/0x1f0 mm/page_owner.c:128
 __set_page_owner+0x1f/0x60 mm/page_owner.c:192
 set_page_owner include/linux/page_owner.h:31 [inline]
 post_alloc_hook+0x2cf/0x340 mm/page_alloc.c:1536
 prep_new_page mm/page_alloc.c:1543 [inline]
 get_page_from_freelist+0xee0/0x2f20 mm/page_alloc.c:3170
 __alloc_pages+0x1d0/0x4a0 mm/page_alloc.c:4426
 alloc_pages+0x1a9/0x270 mm/mempolicy.c:2298
 __get_free_pages+0xc/0x40 mm/page_alloc.c:4477
 tlb_next_batch mm/mmu_gather.c:35 [inline]
 __tlb_remove_page_size+0x2a6/0x470 mm/mmu_gather.c:136
 __tlb_remove_page include/asm-generic/tlb.h:471 [inline]
 zap_pte_range mm/memory.c:1460 [inline]
 zap_pmd_range mm/memory.c:1573 [inline]
 zap_pud_range mm/memory.c:1602 [inline]
 zap_p4d_range mm/memory.c:1623 [inline]
 unmap_page_range+0x1399/0x2c10 mm/memory.c:1644
 unmap_single_vma+0x194/0x2b0 mm/memory.c:1690
 unmap_vmas+0x1e8/0x330 mm/memory.c:1731
 exit_mmap+0x1ad/0xa60 mm/mmap.c:3210
 __mmput+0x12a/0x4d0 kernel/fork.c:1349
 mmput+0x62/0x70 kernel/fork.c:1371
 exit_mm kernel/exit.c:567 [inline]
 do_exit+0x9b4/0x2a20 kernel/exit.c:861
 do_group_exit+0xd4/0x2a0 kernel/exit.c:1024
 get_signal+0x23d1/0x27b0 kernel/signal.c:2892
 arch_do_signal_or_restart+0x90/0x7f0 arch/x86/kernel/signal.c:309
 exit_to_user_mode_loop kernel/entry/common.c:168 [inline]
 exit_to_user_mode_prepare+0x11f/0x240 kernel/entry/common.c:204
 irqentry_exit_to_user_mode+0x9/0x40 kernel/entry/common.c:309
 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:645
RIP: 0033:0x7fb63b27cae9
Code: Unable to access opcode bytes at 0x7fb63b27cabf.
RSP: 002b:00007fb63c0020c8 EFLAGS: 00000246
RAX: 0000000000000007 RBX: 00007fb63b39bf80 RCX: 00007fb63b27cae9
RDX: ffffffffffffffff RSI: 0000000000000000 RDI: 00000000200003c0
RBP: 00007fb63b2c847a R08: 0000000000000000 R09: 0000000000000000
R10: ffffffffffffffff R11: 0000000000000246 R12: 0000000000000000
R13: 000000000000000b R14: 00007fb63b39bf80 R15: 00007ffebc189a18
 </TASK>
Sending NMI from CPU 0 to CPUs 1:
NMI backtrace for cpu 1
CPU: 1 PID: 19618 Comm: syz-executor.0 Not tainted 6.6.0-rc1-syzkaller-00205-g9077fc228f09 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/06/2023
RIP: 0010:native_save_fl arch/x86/include/asm/irqflags.h:26 [inline]
RIP: 0010:arch_local_save_flags arch/x86/include/asm/irqflags.h:67 [inline]
RIP: 0010:arch_local_irq_save arch/x86/include/asm/irqflags.h:103 [inline]
RIP: 0010:seqcount_lockdep_reader_access include/linux/seqlock.h:101 [inline]
RIP: 0010:timekeeping_get_delta kernel/time/timekeeping.c:254 [inline]
RIP: 0010:timekeeping_get_ns kernel/time/timekeeping.c:388 [inline]
RIP: 0010:ktime_get+0xea/0x490 kernel/time/timekeeping.c:848
Code: 0b 31 ff 89 eb 83 e3 01 89 de e8 71 67 10 00 85 db 75 e1 e8 f8 6b 10 00 48 8b 05 51 10 46 0b 48 89 44 24 08 e8 e7 6b 10 00 9c <5b> fa 81 e3 00 02 00 00 31 ff 48 89 de e8 64 67 10 00 48 85 db 0f
RSP: 0018:ffffc900001f0440 EFLAGS: 00000046
RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000100
RDX: ffff88804f6d5940 RSI: ffffffff81776299 RDI: 0000000000000005
RBP: 000000000003535a R08: 0000000000000005 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000000
R13: dffffc0000000000 R14: 0000000000000000 R15: 7fffffffffffffff
FS:  0000000000000000(0000) GS:ffff8880b9900000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000055555724a8f8 CR3: 000000000c976000 CR4: 00000000003506e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <NMI>
 </NMI>
 <IRQ>
 clockevents_program_event+0x14b/0x370 kernel/time/clockevents.c:326
 tick_program_event+0xa5/0x130 kernel/time/tick-oneshot.c:44
 hrtimer_interrupt+0x36d/0x800 kernel/time/hrtimer.c:1827
 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1063 [inline]
 __sysvec_apic_timer_interrupt+0x105/0x3f0 arch/x86/kernel/apic/apic.c:1080
 sysvec_apic_timer_interrupt+0x42/0xc0 arch/x86/kernel/apic/apic.c:1074
 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:645
RIP: 0010:unwind_next_frame+0x9c0/0x2390 arch/x86/kernel/unwind_orc.c:515
Code: 40 84 ed 48 8b 0c 24 0f 85 3c fa ff ff e8 68 7d 4d 00 48 89 df c6 05 3e f1 26 0f 01 e8 99 f0 ff ff 48 8b 0c 24 e9 1f fa ff ff <41> 80 fd 08 0f 84 18 0b 00 00 41 80 fd 09 0f 85 13 01 00 00 e8 37
RSP: 0018:ffffc900001f0680 EFLAGS: 00000206
RAX: 0000000000000000 RBX: ffffc900001f0700 RCX: ffffffff813a4e25
RDX: ffff88804f6d5940 RSI: 0000000000000100 RDI: 0000000000000001
RBP: 0000000000000002 R08: 0000000000000001 R09: 0000000000000009
R10: 0000000000000009 R11: 0000000000000001 R12: ffffffff8ffb22f2
R13: 0000000000000009 R14: ffffffff8ffb22f6 R15: ffffc900001f0735
 arch_stack_walk+0xfa/0x170 arch/x86/kernel/stacktrace.c:25
 stack_trace_save+0x96/0xd0 kernel/stacktrace.c:122
 kasan_save_stack+0x33/0x50 mm/kasan/common.c:45
 kasan_set_track+0x25/0x30 mm/kasan/common.c:52
 kasan_save_free_info+0x2b/0x40 mm/kasan/generic.c:522
 ____kasan_slab_free mm/kasan/common.c:236 [inline]
 ____kasan_slab_free+0x15b/0x1b0 mm/kasan/common.c:200
 kasan_slab_free include/linux/kasan.h:164 [inline]
 slab_free_hook mm/slub.c:1800 [inline]
 slab_free_freelist_hook+0x114/0x1e0 mm/slub.c:1826
 slab_free mm/slub.c:3809 [inline]
 kmem_cache_free+0xf0/0x480 mm/slub.c:3831
 kfree_skbmem+0x166/0x1b0 net/core/skbuff.c:1031
 tcp_wmem_free_skb include/net/tcp.h:300 [inline]
 tcp_write_queue_purge+0x186/0xd60 net/ipv4/tcp.c:2952
 tcp_write_err net/ipv4/tcp_timer.c:75 [inline]
 tcp_probe_timer net/ipv4/tcp_timer.c:411 [inline]
 tcp_write_timer_handler net/ipv4/tcp_timer.c:672 [inline]
 tcp_write_timer_handler+0x49c/0xa00 net/ipv4/tcp_timer.c:642
 tcp_write_timer+0xa6/0x2b0 net/ipv4/tcp_timer.c:685
 call_timer_fn+0x1a0/0x580 kernel/time/timer.c:1700
 expire_timers kernel/time/timer.c:1751 [inline]
 __run_timers+0x764/0xb10 kernel/time/timer.c:2022
 run_timer_softirq+0x58/0xd0 kernel/time/timer.c:2035
 __do_softirq+0x218/0x965 kernel/softirq.c:553
 invoke_softirq kernel/softirq.c:427 [inline]
 __irq_exit_rcu kernel/softirq.c:632 [inline]
 irq_exit_rcu+0xb7/0x120 kernel/softirq.c:644
 sysvec_apic_timer_interrupt+0x93/0xc0 arch/x86/kernel/apic/apic.c:1074
 </IRQ>
 <TASK>
 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:645
RIP: 0010:preempt_schedule_irq+0x4d/0x90 kernel/sched/core.c:7007
Code: 55 65 48 8b 2c 25 c0 bc 03 00 53 48 89 eb 48 c1 eb 03 48 01 c3 bf 01 00 00 00 e8 6e 4f 19 f7 e8 f9 29 4d f7 fb bf 01 00 00 00 <e8> 5e 99 ff ff 9c 58 fa f6 c4 02 75 1a bf 01 00 00 00 e8 ac 15 19
RSP: 0018:ffffc900044473e8 EFLAGS: 00000246
RAX: 0000000000000003 RBX: ffffed1009edab28 RCX: 1ffffffff1d9cbab
RDX: 0000000000000000 RSI: ffffffff8ae92920 RDI: 0000000000000001
RBP: ffff88804f6d5940 R08: 0000000000000000 R09: 0000000000000000
R10: ffffffff8ece27d7 R11: 5050505000000011 R12: 0000000000000000
R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
 irqentry_exit+0x35/0x80 kernel/entry/common.c:432
 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:645
RIP: 0010:_compound_head include/linux/page-flags.h:249 [inline]
RIP: 0010:PageSlab include/linux/page-flags.h:481 [inline]
RIP: 0010:__page_table_check_zero+0x40/0x5e0 mm/page_table_check.c:138
Code: ec 10 e8 53 66 9f ff 48 8d 7b 08 48 b8 00 00 00 00 00 fc ff df 48 89 fa 48 c1 ea 03 80 3c 02 00 0f 85 2c 05 00 00 48 8b 6b 08 <31> ff 49 89 ec 41 83 e4 01 4c 89 e6 e8 af 61 9f ff 4d 85 e4 0f 85
RSP: 0018:ffffc900044474b8 EFLAGS: 00000246
RAX: dffffc0000000000 RBX: ffffea00012b3440 RCX: 0000000000000000
RDX: 1ffffd4000256689 RSI: ffffffff81e8682d RDI: ffffea00012b3448
RBP: ffffea00010c3708 R08: 0000000000000000 R09: fffffbfff1d9c4fa
R10: ffffffff8ece27d7 R11: 1ffffffff1976c81 R12: 000000000004acd1
R13: 0000000000000000 R14: 0000000000000000 R15: ffffea00012b3440
 page_table_check_free include/linux/page_table_check.h:41 [inline]
 free_pages_prepare mm/page_alloc.c:1137 [inline]
 free_unref_page_prepare+0x466/0xa40 mm/page_alloc.c:2312
 free_unref_page_list+0xe6/0xb30 mm/page_alloc.c:2451
 release_pages+0x32a/0x14e0 mm/swap.c:1042
 tlb_batch_pages_flush+0x9a/0x190 mm/mmu_gather.c:98
 zap_pte_range mm/memory.c:1534 [inline]
 zap_pmd_range mm/memory.c:1573 [inline]
 zap_pud_range mm/memory.c:1602 [inline]
 zap_p4d_range mm/memory.c:1623 [inline]
 unmap_page_range+0x19b7/0x2c10 mm/memory.c:1644
 unmap_single_vma+0x194/0x2b0 mm/memory.c:1690
 unmap_vmas+0x1e8/0x330 mm/memory.c:1731
 exit_mmap+0x1ad/0xa60 mm/mmap.c:3210
 __mmput+0x12a/0x4d0 kernel/fork.c:1349
 mmput+0x62/0x70 kernel/fork.c:1371
 exit_mm kernel/exit.c:567 [inline]
 do_exit+0x9b4/0x2a20 kernel/exit.c:861
 do_group_exit+0xd4/0x2a0 kernel/exit.c:1024
 get_signal+0x23d1/0x27b0 kernel/signal.c:2892
 arch_do_signal_or_restart+0x90/0x7f0 arch/x86/kernel/signal.c:309
 exit_to_user_mode_loop kernel/entry/common.c:168 [inline]
 exit_to_user_mode_prepare+0x11f/0x240 kernel/entry/common.c:204
 irqentry_exit_to_user_mode+0x9/0x40 kernel/entry/common.c:309
 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:645
RIP: 0033:0x7fcaf2e7cae9
Code: Unable to access opcode bytes at 0x7fcaf2e7cabf.
RSP: 002b:00007fcaf3c120c8 EFLAGS: 00010246
RAX: 0000000000000007 RBX: 00007fcaf2f9bf80 RCX: 00007fcaf2e7cae9
RDX: ffffffffffffffff RSI: 0000000000000000 RDI: 00000000200003c0
RBP: 00007fcaf2ec847a R08: 0000000000000000 R09: 0000000000000000
R10: ffffffffffffffff R11: 0000000000000246 R12: 0000000000000000
R13: 000000000000000b R14: 00007fcaf2f9bf80 R15: 00007fff8e528cb8
 </TASK>

Crashes (6):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2023/10/02 14:01 bpf 9077fc228f09 50b20e75 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-bpf-kasan-gce BUG: soft lockup in tcp_write_timer
2024/01/08 20:24 bpf-next 3fbf61207c66 4c0fd4bb .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-bpf-next-kasan-gce BUG: soft lockup in tcp_write_timer
2023/12/16 01:08 bpf-next 7489723c2e26 3222d10c .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-bpf-next-kasan-gce BUG: soft lockup in tcp_write_timer
2023/12/09 18:06 bpf-next 32fa05839862 28b24332 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-bpf-next-kasan-gce BUG: soft lockup in tcp_write_timer
2023/11/10 00:15 bpf-next 0ca98fca84b3 56230772 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-bpf-next-kasan-gce BUG: soft lockup in tcp_write_timer
2023/09/23 05:23 bpf-next 831916fb93d4 0b6a67ac .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-bpf-next-kasan-gce BUG: soft lockup in tcp_write_timer
* Struck through repros no longer work on HEAD.