syzbot


INFO: rcu detected stall in NF_HOOK

Status: upstream: reported on 2024/03/07 14:02
Reported-by: syzbot+fb29dfc5815d8b82ed81@syzkaller.appspotmail.com
First crash: 61d, last: 61d

Sample crash report:
rcu: INFO: rcu_preempt self-detected stall on CPU
rcu: 	0-....: (10407 ticks this GP) idle=5f5/1/0x4000000000000000 softirq=192952/193140 fqs=243 
	(t=10501 jiffies g=335425 q=972)
rcu: rcu_preempt kthread starved for 203 jiffies! g335425 f0x0 RCU_GP_WAIT_FQS(5) ->state=0x0 ->cpu=0
rcu: 	Unless rcu_preempt kthread gets sufficient CPU time, OOM is now expected behavior.
rcu: RCU grace-period kthread stack dump:
task:rcu_preempt     state:R  running task     stack:26168 pid:   15 ppid:     2 flags:0x00004000
Call Trace:
 <TASK>
 context_switch kernel/sched/core.c:5030 [inline]
 __schedule+0x12c4/0x45b0 kernel/sched/core.c:6376
 schedule+0x11b/0x1f0 kernel/sched/core.c:6459
 schedule_timeout+0x1b9/0x300 kernel/time/timer.c:1884
 rcu_gp_fqs_loop+0x2bf/0x1080 kernel/rcu/tree.c:1972
 rcu_gp_kthread+0xa4/0x360 kernel/rcu/tree.c:2145
 kthread+0x3f6/0x4f0 kernel/kthread.c:319
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:298
 </TASK>
rcu: Stack dump where RCU GP kthread last ran:
NMI backtrace for cpu 0
CPU: 0 PID: 10679 Comm: syz-executor.0 Not tainted 5.15.151-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/25/2024
Call Trace:
 <IRQ>
 __dump_stack lib/dump_stack.c:88 [inline]
 dump_stack_lvl+0x1e3/0x2cb lib/dump_stack.c:106
 nmi_cpu_backtrace+0x46a/0x4a0 lib/nmi_backtrace.c:111
 nmi_trigger_cpumask_backtrace+0x181/0x2a0 lib/nmi_backtrace.c:62
 trigger_single_cpu_backtrace include/linux/nmi.h:166 [inline]
 rcu_check_gp_kthread_starvation+0x1d2/0x240 kernel/rcu/tree_stall.h:487
 print_cpu_stall+0x31b/0x600 kernel/rcu/tree_stall.h:631
 check_cpu_stall kernel/rcu/tree_stall.h:727 [inline]
 rcu_pending kernel/rcu/tree.c:3932 [inline]
 rcu_sched_clock_irq+0x8d9/0x1150 kernel/rcu/tree.c:2619
 update_process_times+0x196/0x200 kernel/time/timer.c:1788
 tick_sched_handle kernel/time/tick-sched.c:254 [inline]
 tick_sched_timer+0x386/0x550 kernel/time/tick-sched.c:1473
 __run_hrtimer kernel/time/hrtimer.c:1686 [inline]
 __hrtimer_run_queues+0x55b/0xcf0 kernel/time/hrtimer.c:1750
 hrtimer_interrupt+0x392/0x980 kernel/time/hrtimer.c:1812
 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1085 [inline]
 __sysvec_apic_timer_interrupt+0x139/0x470 arch/x86/kernel/apic/apic.c:1102
 sysvec_apic_timer_interrupt+0x3e/0xb0 arch/x86/kernel/apic/apic.c:1096
 asm_sysvec_apic_timer_interrupt+0x16/0x20 arch/x86/include/asm/idtentry.h:638
RIP: 0010:orc_find arch/x86/kernel/unwind_orc.c:169 [inline]
RIP: 0010:unwind_next_frame+0x1fe/0x1fa0 arch/x86/kernel/unwind_orc.c:448
Code: 46 ff 39 e8 0f 86 a7 15 00 00 89 e8 48 8d 1c 85 70 15 ec 8e 48 89 d8 48 c1 e8 03 0f b6 04 10 84 c0 0f 85 3d 17 00 00 44 8b 23 <89> e8 ff c0 48 8d 1c 85 70 15 ec 8e 48 89 d8 48 c1 e8 03 0f b6 04
RSP: 0018:ffffc90000007188 EFLAGS: 00000246
RAX: 0000000000000000 RBX: ffffffff8f0bef60 RCX: 0000000000096084
RDX: dffffc0000000000 RSI: ffffffff88f67c3a RDI: 0000000000000001
RBP: 000000000007f67c R08: 0000000000000007 R09: ffffc90000007330
R10: 0000000000000000 R11: dffffc0000000001 R12: 000000000015482a
R13: ffffffff88f67c39 R14: 0000000000096084 R15: ffffc90000007240
 arch_stack_walk+0x10d/0x140 arch/x86/kernel/stacktrace.c:25
 stack_trace_save+0x113/0x1c0 kernel/stacktrace.c:122
 kasan_save_stack mm/kasan/common.c:38 [inline]
 kasan_set_track+0x4b/0x80 mm/kasan/common.c:46
 kasan_set_free_info+0x1f/0x40 mm/kasan/generic.c:360
 ____kasan_slab_free+0xd8/0x120 mm/kasan/common.c:366
 kasan_slab_free include/linux/kasan.h:230 [inline]
 slab_free_hook mm/slub.c:1705 [inline]
 slab_free_freelist_hook+0xdd/0x160 mm/slub.c:1731
 slab_free mm/slub.c:3499 [inline]
 kfree+0xf1/0x270 mm/slub.c:4559
 skb_free_head net/core/skbuff.c:655 [inline]
 skb_release_data+0x73a/0x8a0 net/core/skbuff.c:677
 skb_release_all net/core/skbuff.c:742 [inline]
 __kfree_skb net/core/skbuff.c:756 [inline]
 kfree_skb_reason+0xb3/0x170 net/core/skbuff.c:776
 kfree_skb include/linux/skbuff.h:1123 [inline]
 ip6_mc_input+0x97a/0xb80 net/ipv6/ip6_input.c:572
 NF_HOOK+0x364/0x410 include/linux/netfilter.h:302
 __netif_receive_skb_one_core net/core/dev.c:5485 [inline]
 __netif_receive_skb+0x1c6/0x530 net/core/dev.c:5599
 process_backlog+0x363/0x7f0 net/core/dev.c:6476
 __napi_poll+0xc7/0x440 net/core/dev.c:7035
 napi_poll net/core/dev.c:7102 [inline]
 net_rx_action+0x617/0xda0 net/core/dev.c:7189
 __do_softirq+0x3b3/0x93a kernel/softirq.c:558
 invoke_softirq kernel/softirq.c:432 [inline]
 __irq_exit_rcu+0x155/0x240 kernel/softirq.c:637
 irq_exit_rcu+0x5/0x20 kernel/softirq.c:649
 sysvec_apic_timer_interrupt+0x91/0xb0 arch/x86/kernel/apic/apic.c:1096
 </IRQ>
 <TASK>
 asm_sysvec_apic_timer_interrupt+0x16/0x20 arch/x86/include/asm/idtentry.h:638
RIP: 0010:uncharge_batch+0x388/0x490 mm/memcontrol.c:6885
Code: 75 6d 48 8d 65 d8 5b 41 5c 41 5d 41 5e 41 5f 5d c3 e8 9c 7e 4c 08 f7 44 24 10 00 02 00 00 0f 84 6f ff ff ff fb 43 80 3c 27 00 <0f> 85 6a ff ff ff e9 6d ff ff ff 89 d9 80 e1 07 80 c1 03 38 c1 0f
RSP: 0018:ffffc90005506ea0 EFLAGS: 00000246
RAX: 0af3631390f7ca00 RBX: 1ffff92000aa0ddc RCX: ffffffff8162f4e8
RDX: dffffc0000000000 RSI: ffffffff8a8b1500 RDI: ffffffff8ad88f40
RBP: ffffc90005506f70 R08: dffffc0000000000 R09: fffffbfff1f79e21
R10: 0000000000000000 R11: dffffc0000000001 R12: dffffc0000000000
R13: ffffc90005506fa0 R14: ffffc90005506ee0 R15: 1ffff92000aa0df4
 __mem_cgroup_uncharge_list+0xf8/0x150 mm/memcontrol.c:6983
 mem_cgroup_uncharge_list include/linux/memcontrol.h:720 [inline]
 release_pages+0x1bb1/0x1f40 mm/swap.c:962
 __pagevec_lru_add+0x1584/0x18d0 mm/swap.c:1056
 lru_add_drain_cpu+0xfd/0x700 mm/swap.c:597
 lru_add_drain+0x79/0x130 mm/swap.c:701
 free_pages_and_swap_cache+0x18/0x90 mm/swap_state.c:317
 tlb_batch_pages_flush mm/mmu_gather.c:49 [inline]
 tlb_flush_mmu_free mm/mmu_gather.c:240 [inline]
 tlb_flush_mmu+0xc8/0x170 mm/mmu_gather.c:247
 zap_pte_range mm/memory.c:1445 [inline]
 zap_pmd_range mm/memory.c:1494 [inline]
 zap_pud_range mm/memory.c:1523 [inline]
 zap_p4d_range mm/memory.c:1544 [inline]
 unmap_page_range+0x214d/0x2630 mm/memory.c:1565
 unmap_vmas+0x1f8/0x390 mm/memory.c:1642
 exit_mmap+0x3b6/0x670 mm/mmap.c:3186
 __mmput+0x112/0x3b0 kernel/fork.c:1126
 exit_mm+0x688/0x7f0 kernel/exit.c:548
 do_exit+0x626/0x2480 kernel/exit.c:859
 do_group_exit+0x144/0x310 kernel/exit.c:994
 get_signal+0xc66/0x14e0 kernel/signal.c:2889
 arch_do_signal_or_restart+0xc3/0x1890 arch/x86/kernel/signal.c:867
 handle_signal_work kernel/entry/common.c:148 [inline]
 exit_to_user_mode_loop+0x97/0x130 kernel/entry/common.c:172
 exit_to_user_mode_prepare+0xb1/0x140 kernel/entry/common.c:208
 __syscall_exit_to_user_mode_work kernel/entry/common.c:290 [inline]
 syscall_exit_to_user_mode+0x5d/0x250 kernel/entry/common.c:301
 do_syscall_64+0x49/0xb0 arch/x86/entry/common.c:86
 entry_SYSCALL_64_after_hwframe+0x61/0xcb
RIP: 0033:0x7ff06ef63da9
Code: Unable to access opcode bytes at RIP 0x7ff06ef63d7f.
RSP: 002b:00007ff06d4e40c8 EFLAGS: 00000246 ORIG_RAX: 0000000000000003
RAX: 0000000000000000 RBX: 00007ff06f091f80 RCX: 00007ff06ef63da9
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000004
RBP: 00007ff06efb047a R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 000000000000000b R14: 00007ff06f091f80 R15: 00007ffced40b768
 </TASK>
NMI backtrace for cpu 0
CPU: 0 PID: 10679 Comm: syz-executor.0 Not tainted 5.15.151-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/25/2024
Call Trace:
 <IRQ>
 __dump_stack lib/dump_stack.c:88 [inline]
 dump_stack_lvl+0x1e3/0x2cb lib/dump_stack.c:106
 nmi_cpu_backtrace+0x46a/0x4a0 lib/nmi_backtrace.c:111
 nmi_trigger_cpumask_backtrace+0x181/0x2a0 lib/nmi_backtrace.c:62
 trigger_single_cpu_backtrace include/linux/nmi.h:166 [inline]
 rcu_dump_cpu_stacks+0x223/0x390 kernel/rcu/tree_stall.h:349
 print_cpu_stall+0x320/0x600 kernel/rcu/tree_stall.h:633
 check_cpu_stall kernel/rcu/tree_stall.h:727 [inline]
 rcu_pending kernel/rcu/tree.c:3932 [inline]
 rcu_sched_clock_irq+0x8d9/0x1150 kernel/rcu/tree.c:2619
 update_process_times+0x196/0x200 kernel/time/timer.c:1788
 tick_sched_handle kernel/time/tick-sched.c:254 [inline]
 tick_sched_timer+0x386/0x550 kernel/time/tick-sched.c:1473
 __run_hrtimer kernel/time/hrtimer.c:1686 [inline]
 __hrtimer_run_queues+0x55b/0xcf0 kernel/time/hrtimer.c:1750
 hrtimer_interrupt+0x392/0x980 kernel/time/hrtimer.c:1812
 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1085 [inline]
 __sysvec_apic_timer_interrupt+0x139/0x470 arch/x86/kernel/apic/apic.c:1102
 sysvec_apic_timer_interrupt+0x3e/0xb0 arch/x86/kernel/apic/apic.c:1096
 asm_sysvec_apic_timer_interrupt+0x16/0x20 arch/x86/include/asm/idtentry.h:638
RIP: 0010:orc_find arch/x86/kernel/unwind_orc.c:169 [inline]
RIP: 0010:unwind_next_frame+0x1fe/0x1fa0 arch/x86/kernel/unwind_orc.c:448
Code: 46 ff 39 e8 0f 86 a7 15 00 00 89 e8 48 8d 1c 85 70 15 ec 8e 48 89 d8 48 c1 e8 03 0f b6 04 10 84 c0 0f 85 3d 17 00 00 44 8b 23 <89> e8 ff c0 48 8d 1c 85 70 15 ec 8e 48 89 d8 48 c1 e8 03 0f b6 04
RSP: 0018:ffffc90000007188 EFLAGS: 00000246
RAX: 0000000000000000 RBX: ffffffff8f0bef60 RCX: 0000000000096084
RDX: dffffc0000000000 RSI: ffffffff88f67c3a RDI: 0000000000000001
RBP: 000000000007f67c R08: 0000000000000007 R09: ffffc90000007330
R10: 0000000000000000 R11: dffffc0000000001 R12: 000000000015482a
R13: ffffffff88f67c39 R14: 0000000000096084 R15: ffffc90000007240
 arch_stack_walk+0x10d/0x140 arch/x86/kernel/stacktrace.c:25
 stack_trace_save+0x113/0x1c0 kernel/stacktrace.c:122
 kasan_save_stack mm/kasan/common.c:38 [inline]
 kasan_set_track+0x4b/0x80 mm/kasan/common.c:46
 kasan_set_free_info+0x1f/0x40 mm/kasan/generic.c:360
 ____kasan_slab_free+0xd8/0x120 mm/kasan/common.c:366
 kasan_slab_free include/linux/kasan.h:230 [inline]
 slab_free_hook mm/slub.c:1705 [inline]
 slab_free_freelist_hook+0xdd/0x160 mm/slub.c:1731
 slab_free mm/slub.c:3499 [inline]
 kfree+0xf1/0x270 mm/slub.c:4559
 skb_free_head net/core/skbuff.c:655 [inline]
 skb_release_data+0x73a/0x8a0 net/core/skbuff.c:677
 skb_release_all net/core/skbuff.c:742 [inline]
 __kfree_skb net/core/skbuff.c:756 [inline]
 kfree_skb_reason+0xb3/0x170 net/core/skbuff.c:776
 kfree_skb include/linux/skbuff.h:1123 [inline]
 ip6_mc_input+0x97a/0xb80 net/ipv6/ip6_input.c:572
 NF_HOOK+0x364/0x410 include/linux/netfilter.h:302
 __netif_receive_skb_one_core net/core/dev.c:5485 [inline]
 __netif_receive_skb+0x1c6/0x530 net/core/dev.c:5599
 process_backlog+0x363/0x7f0 net/core/dev.c:6476
 __napi_poll+0xc7/0x440 net/core/dev.c:7035
 napi_poll net/core/dev.c:7102 [inline]
 net_rx_action+0x617/0xda0 net/core/dev.c:7189
 __do_softirq+0x3b3/0x93a kernel/softirq.c:558
 invoke_softirq kernel/softirq.c:432 [inline]
 __irq_exit_rcu+0x155/0x240 kernel/softirq.c:637
 irq_exit_rcu+0x5/0x20 kernel/softirq.c:649
 sysvec_apic_timer_interrupt+0x91/0xb0 arch/x86/kernel/apic/apic.c:1096
 </IRQ>
 <TASK>
 asm_sysvec_apic_timer_interrupt+0x16/0x20 arch/x86/include/asm/idtentry.h:638
RIP: 0010:uncharge_batch+0x388/0x490 mm/memcontrol.c:6885
Code: 75 6d 48 8d 65 d8 5b 41 5c 41 5d 41 5e 41 5f 5d c3 e8 9c 7e 4c 08 f7 44 24 10 00 02 00 00 0f 84 6f ff ff ff fb 43 80 3c 27 00 <0f> 85 6a ff ff ff e9 6d ff ff ff 89 d9 80 e1 07 80 c1 03 38 c1 0f
RSP: 0018:ffffc90005506ea0 EFLAGS: 00000246
RAX: 0af3631390f7ca00 RBX: 1ffff92000aa0ddc RCX: ffffffff8162f4e8
RDX: dffffc0000000000 RSI: ffffffff8a8b1500 RDI: ffffffff8ad88f40
RBP: ffffc90005506f70 R08: dffffc0000000000 R09: fffffbfff1f79e21
R10: 0000000000000000 R11: dffffc0000000001 R12: dffffc0000000000
R13: ffffc90005506fa0 R14: ffffc90005506ee0 R15: 1ffff92000aa0df4
 __mem_cgroup_uncharge_list+0xf8/0x150 mm/memcontrol.c:6983
 mem_cgroup_uncharge_list include/linux/memcontrol.h:720 [inline]
 release_pages+0x1bb1/0x1f40 mm/swap.c:962
 __pagevec_lru_add+0x1584/0x18d0 mm/swap.c:1056
 lru_add_drain_cpu+0xfd/0x700 mm/swap.c:597
 lru_add_drain+0x79/0x130 mm/swap.c:701
 free_pages_and_swap_cache+0x18/0x90 mm/swap_state.c:317
 tlb_batch_pages_flush mm/mmu_gather.c:49 [inline]
 tlb_flush_mmu_free mm/mmu_gather.c:240 [inline]
 tlb_flush_mmu+0xc8/0x170 mm/mmu_gather.c:247
 zap_pte_range mm/memory.c:1445 [inline]
 zap_pmd_range mm/memory.c:1494 [inline]
 zap_pud_range mm/memory.c:1523 [inline]
 zap_p4d_range mm/memory.c:1544 [inline]
 unmap_page_range+0x214d/0x2630 mm/memory.c:1565
 unmap_vmas+0x1f8/0x390 mm/memory.c:1642
 exit_mmap+0x3b6/0x670 mm/mmap.c:3186
 __mmput+0x112/0x3b0 kernel/fork.c:1126
 exit_mm+0x688/0x7f0 kernel/exit.c:548
 do_exit+0x626/0x2480 kernel/exit.c:859
 do_group_exit+0x144/0x310 kernel/exit.c:994
 get_signal+0xc66/0x14e0 kernel/signal.c:2889
 arch_do_signal_or_restart+0xc3/0x1890 arch/x86/kernel/signal.c:867
 handle_signal_work kernel/entry/common.c:148 [inline]
 exit_to_user_mode_loop+0x97/0x130 kernel/entry/common.c:172
 exit_to_user_mode_prepare+0xb1/0x140 kernel/entry/common.c:208
 __syscall_exit_to_user_mode_work kernel/entry/common.c:290 [inline]
 syscall_exit_to_user_mode+0x5d/0x250 kernel/entry/common.c:301
 do_syscall_64+0x49/0xb0 arch/x86/entry/common.c:86
 entry_SYSCALL_64_after_hwframe+0x61/0xcb
RIP: 0033:0x7ff06ef63da9
Code: Unable to access opcode bytes at RIP 0x7ff06ef63d7f.
RSP: 002b:00007ff06d4e40c8 EFLAGS: 00000246 ORIG_RAX: 0000000000000003
RAX: 0000000000000000 RBX: 00007ff06f091f80 RCX: 00007ff06ef63da9
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000004
RBP: 00007ff06efb047a R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 000000000000000b R14: 00007ff06f091f80 R15: 00007ffced40b768
 </TASK>

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/03/07 14:01 linux-5.15.y 574362648507 2b789849 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan-perf INFO: rcu detected stall in NF_HOOK
* Struck through repros no longer work on HEAD.