syzbot


INFO: rcu detected stall in skb_release_data

Status: auto-closed as invalid on 2021/12/04 08:37
Subsystems: fs mm
[Documentation on labels]
First crash: 936d, last: 936d
Similar bugs (1)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
linux-4.19 BUG: soft lockup in skb_release_data 1 407d 407d 0/1 upstream: reported on 2023/02/15 16:04

Sample crash report:
rcu: INFO: rcu_preempt self-detected stall on CPU
rcu: 	0-....: (10447 ticks this GP) idle=f8f/1/0x4000000000000000 softirq=26794/26801 fqs=120 
	(t=10500 jiffies g=34745 q=661)
rcu: rcu_preempt kthread starved for 689 jiffies! g34745 f0x0 RCU_GP_WAIT_FQS(5) ->state=0x0 ->cpu=1
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:28736 pid:   14 ppid:     2 flags:0x00004000
Call Trace:
 context_switch kernel/sched/core.c:4940 [inline]
 __schedule+0x940/0x26f0 kernel/sched/core.c:6287
 schedule+0xd3/0x270 kernel/sched/core.c:6366
 schedule_timeout+0x14a/0x2a0 kernel/time/timer.c:1881
 rcu_gp_fqs_loop+0x186/0x800 kernel/rcu/tree.c:1957
 rcu_gp_kthread+0x1de/0x320 kernel/rcu/tree.c:2130
 kthread+0x3e5/0x4d0 kernel/kthread.c:319
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295
rcu: Stack dump where RCU GP kthread last ran:
Sending NMI from CPU 0 to CPUs 1:
NMI backtrace for cpu 1
CPU: 1 PID: 19304 Comm: syz-executor.1 Not tainted 5.14.0-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
RIP: 0010:native_apic_mem_write+0x8/0x10 arch/x86/include/asm/apic.h:110
Code: c7 40 f7 ee 8e e8 28 3b 8a 00 eb b0 66 0f 1f 44 00 00 be 01 00 00 00 e9 e6 1e 2d 00 cc cc cc cc cc cc 89 ff 89 b7 00 c0 5f ff <c3> 0f 1f 80 00 00 00 00 48 b8 00 00 00 00 00 fc ff df 53 89 fb 48
RSP: 0018:ffffc90000dc0470 EFLAGS: 00000046
RAX: dffffc0000000000 RBX: ffffffff8b337a60 RCX: 0000000000000020
RDX: 1ffffffff1666f4e RSI: 00000000000000c6 RDI: 0000000000000380
RBP: ffff8880b9d1f300 R08: 000000000000003f R09: ffffffff8d6ea4d7
R10: ffffffff8168f927 R11: 0000000000000000 R12: 00000000000000c6
R13: 0000000000000020 R14: 0000000000000000 R15: ffff8880b9d223c0
FS:  0000000000000000(0000) GS:ffff8880b9d00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000000c017808020 CR3: 000000001e50f000 CR4: 0000000000350ee0
Call Trace:
 <IRQ>
 apic_write arch/x86/include/asm/apic.h:394 [inline]
 lapic_next_event+0x4d/0x80 arch/x86/kernel/apic/apic.c:469
 clockevents_program_event+0x254/0x370 kernel/time/clockevents.c:334
 tick_program_event+0xac/0x140 kernel/time/tick-oneshot.c:44
 hrtimer_interrupt+0x36e/0x790 kernel/time/hrtimer.c:1824
 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1086 [inline]
 __sysvec_apic_timer_interrupt+0x146/0x530 arch/x86/kernel/apic/apic.c:1103
 sysvec_apic_timer_interrupt+0x40/0xc0 arch/x86/kernel/apic/apic.c:1097
 asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:638
RIP: 0010:unwind_get_return_address arch/x86/kernel/unwind_orc.c:318 [inline]
RIP: 0010:unwind_get_return_address+0x66/0x90 arch/x86/kernel/unwind_orc.c:313
Code: 89 ea 48 c1 ea 03 80 3c 02 00 75 32 48 8b 7b 48 e8 2f 69 19 00 85 c0 74 d3 48 b8 00 00 00 00 00 fc ff df 48 89 ea 48 c1 ea 03 <80> 3c 02 00 75 18 48 8b 43 48 5b 5d c3 e8 68 4f 89 00 eb a8 48 89
RSP: 0018:ffffc90000dc0670 EFLAGS: 00000212
RAX: dffffc0000000000 RBX: ffffc90000dc0688 RCX: 0000000000000000
RDX: 1ffff920001b80da RSI: ffffc90000dc0fe0 RDI: ffffffff814675a5
RBP: ffffc90000dc06d0 R08: ffffffff8de9a3c6 R09: 0000000000000001
R10: fffff520001b80dc R11: 0000000000086089 R12: ffffc90000dc0740
R13: 0000000000000000 R14: ffff888025765580 R15: 0000000000000000
 arch_stack_walk+0x93/0xe0 arch/x86/kernel/stacktrace.c:26
 stack_trace_save+0x8c/0xc0 kernel/stacktrace.c:121
 kasan_save_stack+0x1b/0x40 mm/kasan/common.c:38
 kasan_set_track+0x1c/0x30 mm/kasan/common.c:46
 kasan_set_free_info+0x20/0x30 mm/kasan/generic.c:360
 ____kasan_slab_free mm/kasan/common.c:366 [inline]
 ____kasan_slab_free mm/kasan/common.c:328 [inline]
 __kasan_slab_free+0xff/0x130 mm/kasan/common.c:374
 kasan_slab_free include/linux/kasan.h:230 [inline]
 slab_free_hook mm/slub.c:1628 [inline]
 slab_free_freelist_hook+0xe3/0x250 mm/slub.c:1653
 slab_free mm/slub.c:3213 [inline]
 kfree+0xe4/0x540 mm/slub.c:4267
 skb_free_head net/core/skbuff.c:654 [inline]
 skb_release_data+0x65a/0x790 net/core/skbuff.c:676
 skb_release_all net/core/skbuff.c:741 [inline]
 __kfree_skb net/core/skbuff.c:755 [inline]
 kfree_skb net/core/skbuff.c:773 [inline]
 kfree_skb+0x133/0x3f0 net/core/skbuff.c:767
 __netif_receive_skb_core+0x54f/0x3640 net/core/dev.c:5410
 __netif_receive_skb_one_core+0xae/0x180 net/core/dev.c:5434
 __netif_receive_skb+0x24/0x1b0 net/core/dev.c:5550
 process_backlog+0x2a5/0x6c0 net/core/dev.c:6427
 __napi_poll+0xaf/0x440 net/core/dev.c:6982
 napi_poll net/core/dev.c:7049 [inline]
 net_rx_action+0x801/0xb40 net/core/dev.c:7136
 __do_softirq+0x29b/0x9c2 kernel/softirq.c:558
 invoke_softirq kernel/softirq.c:432 [inline]
 __irq_exit_rcu+0x123/0x180 kernel/softirq.c:636
 irq_exit_rcu+0x5/0x20 kernel/softirq.c:648
 sysvec_apic_timer_interrupt+0x93/0xc0 arch/x86/kernel/apic/apic.c:1097
 </IRQ>
 asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:638
RIP: 0010:__sanitizer_cov_trace_pc+0x37/0x60 kernel/kcov.c:197
Code: 81 e1 00 01 00 00 65 48 8b 14 25 40 f0 01 00 a9 00 01 ff 00 74 0e 85 c9 74 35 8b 82 3c 15 00 00 85 c0 74 2b 8b 82 18 15 00 00 <83> f8 02 75 20 48 8b 8a 20 15 00 00 8b 92 1c 15 00 00 48 8b 01 48
RSP: 0018:ffffc9000307f770 EFLAGS: 00000246
RAX: 0000000000000000 RBX: ffffea0001d00340 RCX: 0000000000000000
RDX: ffff888025765580 RSI: ffffffff819d1bd2 RDI: 0000000000000003
RBP: ffffea0001d00340 R08: 0000000000000000 R09: 0000000000000000
R10: ffffffff819d1bc4 R11: 0000000000000000 R12: 0000000000000000
R13: ffffea0001d00348 R14: 0000000000000000 R15: 00007f7b05290000
 PagePoisoned include/linux/page-flags.h:207 [inline]
 PageDirty include/linux/page-flags.h:337 [inline]
 set_page_dirty+0x312/0x6b0 mm/page-writeback.c:2611
 zap_pte_range mm/memory.c:1355 [inline]
 zap_pmd_range mm/memory.c:1481 [inline]
 zap_pud_range mm/memory.c:1510 [inline]
 zap_p4d_range mm/memory.c:1531 [inline]
 unmap_page_range+0x1d5d/0x2a10 mm/memory.c:1552
 unmap_single_vma+0x198/0x310 mm/memory.c:1597
 unmap_vmas+0x16d/0x2f0 mm/memory.c:1629
 exit_mmap+0x1d0/0x620 mm/mmap.c:3171
 __mmput+0x122/0x4b0 kernel/fork.c:1114
 mmput+0x58/0x60 kernel/fork.c:1135
 exit_mm kernel/exit.c:501 [inline]
 do_exit+0xabc/0x2a30 kernel/exit.c:812
 do_group_exit+0x125/0x310 kernel/exit.c:922
 get_signal+0x47f/0x2160 kernel/signal.c:2868
 arch_do_signal_or_restart+0x2a9/0x1c40 arch/x86/kernel/signal.c:865
 handle_signal_work kernel/entry/common.c:148 [inline]
 exit_to_user_mode_loop kernel/entry/common.c:172 [inline]
 exit_to_user_mode_prepare+0x17d/0x290 kernel/entry/common.c:209
 __syscall_exit_to_user_mode_work kernel/entry/common.c:291 [inline]
 syscall_exit_to_user_mode+0x19/0x60 kernel/entry/common.c:302
 do_syscall_64+0x42/0xb0 arch/x86/entry/common.c:86
 entry_SYSCALL_64_after_hwframe+0x44/0xae
RIP: 0033:0x4665f9
Code: Unable to access opcode bytes at RIP 0x4665cf.
RSP: 002b:00007f7b02a1a188 EFLAGS: 00000246 ORIG_RAX: 000000000000010e
RAX: fffffffffffffdfe RBX: 000000000056bf80 RCX: 00000000004665f9
RDX: 0000000000000000 RSI: 00000000200001c0 RDI: 0000000000000040
RBP: 00000000004bfcc4 R08: 0000000020000200 R09: 0000000000000000
R10: 0000000020000140 R11: 0000000000000246 R12: 000000000056bf80
R13: 00007ffc05c1d37f R14: 00007f7b02a1a300 R15: 0000000000022000
NMI backtrace for cpu 0
CPU: 0 PID: 19325 Comm: syz-executor.0 Not tainted 5.14.0-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Call Trace:
 <IRQ>
 __dump_stack lib/dump_stack.c:88 [inline]
 dump_stack_lvl+0xcd/0x134 lib/dump_stack.c:105
 nmi_cpu_backtrace.cold+0x47/0x144 lib/nmi_backtrace.c:105
 nmi_trigger_cpumask_backtrace+0x1ae/0x220 lib/nmi_backtrace.c:62
 trigger_single_cpu_backtrace include/linux/nmi.h:164 [inline]
 rcu_dump_cpu_stacks+0x25e/0x3f0 kernel/rcu/tree_stall.h:343
 print_cpu_stall kernel/rcu/tree_stall.h:627 [inline]
 check_cpu_stall kernel/rcu/tree_stall.h:711 [inline]
 rcu_pending kernel/rcu/tree.c:3880 [inline]
 rcu_sched_clock_irq.cold+0x9d/0x746 kernel/rcu/tree.c:2599
 update_process_times+0x16d/0x200 kernel/time/timer.c:1785
 tick_sched_handle+0x9b/0x180 kernel/time/tick-sched.c:226
 tick_sched_timer+0x1b0/0x2d0 kernel/time/tick-sched.c:1421
 __run_hrtimer kernel/time/hrtimer.c:1685 [inline]
 __hrtimer_run_queues+0x1c0/0xe50 kernel/time/hrtimer.c:1749
 hrtimer_interrupt+0x31c/0x790 kernel/time/hrtimer.c:1811
 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1086 [inline]
 __sysvec_apic_timer_interrupt+0x146/0x530 arch/x86/kernel/apic/apic.c:1103
 sysvec_apic_timer_interrupt+0x40/0xc0 arch/x86/kernel/apic/apic.c:1097
 asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:638
RIP: 0010:unwind_next_frame+0x150d/0x1ce0 arch/x86/kernel/unwind_orc.c:604
Code: d7 f9 ff ff 48 39 e8 0f 86 ce f9 ff ff 48 8d 55 08 48 39 d0 0f 93 c1 49 39 d4 0f 92 c0 84 c1 0f 84 b6 f9 ff ff 48 39 6c 24 18 <0f> 82 ab f9 ff ff 49 8d 7e 28 48 b8 00 00 00 00 00 fc ff df 48 89
RSP: 0018:ffffc90000007740 EFLAGS: 00000287
RAX: ffffc90000008001 RBX: 1ffff92000000ef0 RCX: 1ffff92000000f01
RDX: ffffc90000007f78 RSI: ffffc90000007f40 RDI: ffffc90000007828
RBP: ffffc90000007f70 R08: ffffffff8ded2e1a R09: 0000000000000001
R10: fffff52000000f0e R11: 0000000000086089 R12: ffffc90000000000
R13: ffffc9000000784d R14: ffffc90000007818 R15: ffffc9000000784c
 arch_stack_walk+0x7d/0xe0 arch/x86/kernel/stacktrace.c:25
 stack_trace_save+0x8c/0xc0 kernel/stacktrace.c:121
 kasan_save_stack+0x1b/0x40 mm/kasan/common.c:38
 kasan_set_track+0x1c/0x30 mm/kasan/common.c:46
 kasan_set_free_info+0x20/0x30 mm/kasan/generic.c:360
 ____kasan_slab_free mm/kasan/common.c:366 [inline]
 ____kasan_slab_free mm/kasan/common.c:328 [inline]
 __kasan_slab_free+0xff/0x130 mm/kasan/common.c:374
 kasan_slab_free include/linux/kasan.h:230 [inline]
 slab_free_hook mm/slub.c:1628 [inline]
 slab_free_freelist_hook+0xe3/0x250 mm/slub.c:1653
 slab_free mm/slub.c:3213 [inline]
 kfree+0xe4/0x540 mm/slub.c:4267
 skb_free_head net/core/skbuff.c:654 [inline]
 skb_release_data+0x65a/0x790 net/core/skbuff.c:676
 skb_release_all net/core/skbuff.c:741 [inline]
 __kfree_skb net/core/skbuff.c:755 [inline]
 consume_skb net/core/skbuff.c:911 [inline]
 consume_skb+0xc2/0x160 net/core/skbuff.c:905
 mac80211_hwsim_tx_frame+0x1f6/0x2a0 drivers/net/wireless/mac80211_hwsim.c:1785
 mac80211_hwsim_beacon_tx+0x49b/0x930 drivers/net/wireless/mac80211_hwsim.c:1838
 __iterate_interfaces+0x1e5/0x520 net/mac80211/util.c:793
 ieee80211_iterate_active_interfaces_atomic+0x70/0x180 net/mac80211/util.c:829
 mac80211_hwsim_beacon+0xd5/0x1a0 drivers/net/wireless/mac80211_hwsim.c:1861
 __run_hrtimer kernel/time/hrtimer.c:1685 [inline]
 __hrtimer_run_queues+0x609/0xe50 kernel/time/hrtimer.c:1749
 hrtimer_run_softirq+0x17b/0x360 kernel/time/hrtimer.c:1766
 __do_softirq+0x29b/0x9c2 kernel/softirq.c:558
 invoke_softirq kernel/softirq.c:432 [inline]
 __irq_exit_rcu+0x123/0x180 kernel/softirq.c:636
 irq_exit_rcu+0x5/0x20 kernel/softirq.c:648
 sysvec_apic_timer_interrupt+0x93/0xc0 arch/x86/kernel/apic/apic.c:1097
 </IRQ>
 asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:638
RIP: 0010:__orc_find+0x8f/0xf0 arch/x86/kernel/unwind_orc.c:49
Code: d8 48 c1 e8 03 42 0f b6 14 38 48 89 d8 83 e0 07 83 c0 03 38 d0 7c 04 84 d2 75 48 48 63 03 48 01 d8 48 39 c1 73 b0 4c 8d 63 fc <49> 39 ec 73 b3 4d 29 ee 49 c1 fe 02 4b 8d 04 76 48 8d 04 46 48 83
RSP: 0018:ffffc900038475f8 EFLAGS: 00000287
RAX: ffffffff842f6491 RBX: ffffffff8da1498c RCX: ffffffff842f6443
RDX: 0000000000000000 RSI: ffffffff8e21bc78 RDI: ffffffff8da14980
RBP: ffffffff8da14980 R08: 0000000000000000 R09: ffffffff8e21bc78
R10: fffff52000708eee R11: 0000000000086089 R12: ffffffff8da14988
R13: ffffffff8da14980 R14: ffffffff8da14980 R15: dffffc0000000000
 orc_find arch/x86/kernel/unwind_orc.c:173 [inline]
 unwind_next_frame+0x32a/0x1ce0 arch/x86/kernel/unwind_orc.c:443
 arch_stack_walk+0x7d/0xe0 arch/x86/kernel/stacktrace.c:25
 stack_trace_save+0x8c/0xc0 kernel/stacktrace.c:121
 save_stack+0x151/0x1e0 mm/page_owner.c:119
 __reset_page_owner+0x5d/0x170 mm/page_owner.c:140
 reset_page_owner include/linux/page_owner.h:24 [inline]
 free_pages_prepare mm/page_alloc.c:1346 [inline]
 free_pcp_prepare+0x2c5/0x780 mm/page_alloc.c:1397
 free_unref_page_prepare mm/page_alloc.c:3332 [inline]
 free_unref_page+0x19/0x690 mm/page_alloc.c:3411
 __vunmap+0x783/0xb70 mm/vmalloc.c:2609
 __vfree+0x3c/0xd0 mm/vmalloc.c:2657
 vfree+0x5a/0x90 mm/vmalloc.c:2688
 n_tty_close+0xcf/0x1e0 drivers/tty/n_tty.c:1828
 tty_ldisc_close+0x110/0x190 drivers/tty/tty_ldisc.c:474
 tty_ldisc_kill+0x94/0x150 drivers/tty/tty_ldisc.c:629
 tty_ldisc_release+0x154/0x2a0 drivers/tty/tty_ldisc.c:803
 tty_release_struct+0x20/0xe0 drivers/tty/tty_io.c:1706
 tty_release+0xc70/0x1200 drivers/tty/tty_io.c:1878
 __fput+0x288/0x9f0 fs/file_table.c:280
 task_work_run+0xdd/0x1a0 kernel/task_work.c:164
 get_signal+0x1b35/0x2160 kernel/signal.c:2641
 arch_do_signal_or_restart+0x2a9/0x1c40 arch/x86/kernel/signal.c:865
 handle_signal_work kernel/entry/common.c:148 [inline]
 exit_to_user_mode_loop kernel/entry/common.c:172 [inline]
 exit_to_user_mode_prepare+0x17d/0x290 kernel/entry/common.c:209
 __syscall_exit_to_user_mode_work kernel/entry/common.c:291 [inline]
 syscall_exit_to_user_mode+0x19/0x60 kernel/entry/common.c:302
 do_syscall_64+0x42/0xb0 arch/x86/entry/common.c:86
 entry_SYSCALL_64_after_hwframe+0x44/0xae
RIP: 0033:0x4665f9
Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 bc ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f8939688188 EFLAGS: 00000246 ORIG_RAX: 000000000000010e
RAX: fffffffffffffdfe RBX: 000000000056bf80 RCX: 00000000004665f9
RDX: 0000000000000000 RSI: 00000000200001c0 RDI: 0000000000000040
RBP: 00000000004bfcc4 R08: 0000000020000200 R09: 0000000000000000
R10: 0000000020000140 R11: 0000000000000246 R12: 000000000056bf80
R13: 00007ffde3b9001f R14: 00007f8939688300 R15: 0000000000022000
----------------
Code disassembly (best guess):
   0:	c7 40 f7 ee 8e e8 28 	movl   $0x28e88eee,-0x9(%rax)
   7:	3b 8a 00 eb b0 66    	cmp    0x66b0eb00(%rdx),%ecx
   d:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
  12:	be 01 00 00 00       	mov    $0x1,%esi
  17:	e9 e6 1e 2d 00       	jmpq   0x2d1f02
  1c:	cc                   	int3
  1d:	cc                   	int3
  1e:	cc                   	int3
  1f:	cc                   	int3
  20:	cc                   	int3
  21:	cc                   	int3
  22:	89 ff                	mov    %edi,%edi
  24:	89 b7 00 c0 5f ff    	mov    %esi,-0xa04000(%rdi)
* 2a:	c3                   	retq <-- trapping instruction
  2b:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
  32:	48 b8 00 00 00 00 00 	movabs $0xdffffc0000000000,%rax
  39:	fc ff df
  3c:	53                   	push   %rbx
  3d:	89 fb                	mov    %edi,%ebx
  3f:	48                   	rex.W

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2021/09/05 08:37 upstream 49624efa65ac d236a457 .config console log report info ci-upstream-kasan-gce-root INFO: rcu detected stall in skb_release_data
* Struck through repros no longer work on HEAD.