syzbot


INFO: rcu detected stall in ieee80211_iface_work

Status: auto-closed as invalid on 2021/10/29 13:44
Subsystems: wireless
[Documentation on labels]
First crash: 971d, last: 963d
Similar bugs (3)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream INFO: rcu detected stall in ieee80211_iface_work (3) wireless 1 510d 510d 0/26 auto-obsoleted due to no activity on 2023/02/25 18:08
upstream INFO: rcu detected stall in ieee80211_iface_work (4) wireless 3 297d 403d 0/26 auto-obsoleted due to no activity on 2023/09/25 23:55
upstream INFO: rcu detected stall in ieee80211_iface_work (2) iomap 1 724d 724d 0/26 auto-closed as invalid on 2022/06/25 02:47

Sample crash report:
rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
rcu: 	Tasks blocked on level-0 rcu_node (CPUs 0-1): P150/1:b..l
	(detected by 1, t=10502 jiffies, g=102125, q=977)
task:kworker/u4:2    state:R  running task     stack:24456 pid:  150 ppid:     2 flags:0x00004000
Workqueue: phy66 ieee80211_iface_work
Call Trace:
 context_switch kernel/sched/core.c:4955 [inline]
 __schedule+0x940/0x26f0 kernel/sched/core.c:6302
 preempt_schedule_irq+0x4e/0x90 kernel/sched/core.c:6702
 irqentry_exit+0x31/0x80 kernel/entry/common.c:427
 asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:638
RIP: 0010:ieee80211_sta_get_rates+0x692/0x960 net/mac80211/util.c:2111
Code: 44 24 10 01 48 8b 44 24 10 41 39 c4 0f 8f d8 fc ff ff e8 21 dd e5 f8 8b 44 24 3c 48 83 c4 60 5b 5d 41 5c 41 5d 41 5e 41 5f c3 <e8> 09 dd e5 f8 48 8b 44 24 18 48 b9 00 00 00 00 00 fc ff df 48 8d
RSP: 0018:ffffc9000143f490 EFLAGS: 00000293
RAX: 0000000000000000 RBX: 0000000000000008 RCX: 0000000000000008
RDX: 0000000000000000 RSI: ffff88801637b900 RDI: 0000000000000003
RBP: 000000000000000c R08: 000000000000000a R09: 0000000000000048
R10: ffffffff8890298e R11: 0000000000000000 R12: 000000000000000a
R13: 000000000000000c R14: 000000000000000a R15: 0000000000000000
 ieee80211_update_sta_info net/mac80211/ibss.c:1003 [inline]
 ieee80211_rx_bss_info net/mac80211/ibss.c:1117 [inline]
 ieee80211_rx_mgmt_probe_beacon+0x546/0x17c0 net/mac80211/ibss.c:1608
 ieee80211_ibss_rx_queued_mgmt+0xd37/0x1610 net/mac80211/ibss.c:1635
 ieee80211_iface_process_skb net/mac80211/iface.c:1439 [inline]
 ieee80211_iface_work+0xa65/0xd00 net/mac80211/iface.c:1493
 process_one_work+0x9b2/0x1690 kernel/workqueue.c:2297
 worker_thread+0x658/0x11f0 kernel/workqueue.c:2444
 kthread+0x3e5/0x4d0 kernel/kthread.c:319
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:295
rcu: rcu_preempt kthread starved for 10491 jiffies! g102125 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:28696 pid:   14 ppid:     2 flags:0x00004000
Call Trace:
 context_switch kernel/sched/core.c:4955 [inline]
 __schedule+0x940/0x26f0 kernel/sched/core.c:6302
 schedule+0xd3/0x270 kernel/sched/core.c:6381
 schedule_timeout+0x14a/0x2a0 kernel/time/timer.c:1881
 rcu_gp_fqs_loop+0x186/0x810 kernel/rcu/tree.c:1955
 rcu_gp_kthread+0x1de/0x320 kernel/rcu/tree.c:2128
 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 1 to CPUs 0:
NMI backtrace for cpu 0
CPU: 0 PID: 26864 Comm: syz-executor.3 Not tainted 5.14.0-next-20210830-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
RIP: 0010:kasan_mem_to_shadow include/linux/kasan.h:55 [inline]
RIP: 0010:memory_is_poisoned_n mm/kasan/generic.c:129 [inline]
RIP: 0010:memory_is_poisoned mm/kasan/generic.c:159 [inline]
RIP: 0010:check_region_inline mm/kasan/generic.c:180 [inline]
RIP: 0010:kasan_check_range+0x48/0x180 mm/kasan/generic.c:189
Code: b8 ff ff ff ff ff 7f ff ff 48 39 c7 0f 86 05 01 00 00 49 83 e9 01 48 89 fd 48 b8 00 00 00 00 00 fc ff df 4d 89 ca 48 c1 ed 03 <49> c1 ea 03 48 01 c5 49 01 c2 48 89 e8 49 8d 5a 01 48 89 da 48 29
RSP: 0018:ffffc900000070c0 EFLAGS: 00000806
RAX: dffffc0000000000 RBX: 0000000000000000 RCX: ffffffff815b5d31
RDX: 0000000000000000 RSI: 0000000000000008 RDI: ffffffff8d6e7a10
RBP: 1ffffffff1adcf42 R08: 0000000000000000 R09: ffffffff8d6e7a17
R10: ffffffff8d6e7a17 R11: 0000000000000000 R12: ffffffff8b99ef08
R13: dffffc0000000000 R14: 0000000000000001 R15: ffff8880b9c22440
FS:  0000000000000000(0000) GS:ffff8880b9c00000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000000542978 CR3: 000000002586a000 CR4: 00000000001526f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <IRQ>
 instrument_atomic_read include/linux/instrumented.h:71 [inline]
 test_bit include/asm-generic/bitops/instrumented-non-atomic.h:134 [inline]
 cpumask_test_cpu include/linux/cpumask.h:379 [inline]
 cpu_online include/linux/cpumask.h:921 [inline]
 trace_lock_release include/trace/events/lock.h:58 [inline]
 lock_release+0xa1/0x720 kernel/locking/lockdep.c:5636
 seqcount_lockdep_reader_access include/linux/seqlock.h:104 [inline]
 ktime_get+0x8d/0x470 kernel/time/timekeeping.c:827
 hrtimer_forward_now include/linux/hrtimer.h:506 [inline]
 perf_swevent_hrtimer+0x246/0x3f0 kernel/events/core.c:10548
 __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:preempt_count_sub+0x5f/0x150 kernel/sched/core.c:5454
Code: d5 0e 85 c9 75 1b 65 8b 05 8e 5c b2 7e 89 c2 81 e2 ff ff ff 7f 39 da 7c 13 81 fb fe 00 00 00 76 63 f7 db 65 01 1d 71 5c b2 7e <5b> c3 e8 0a 3c 85 02 85 c0 74 f5 48 c7 c0 28 ae 6e 8d 48 ba 00 00
RSP: 0018:ffffc90000007688 EFLAGS: 00000213
RAX: 0000000000000103 RBX: 00000000ffffffff RCX: 0000000000000000
RDX: 0000000000000103 RSI: ffffc9000b77ff58 RDI: 0000000000000001
RBP: 00007fed91c93188 R08: ffffffff8e8012d6 R09: 0000000000000001
R10: fffff52000000ef9 R11: 0000000000086089 R12: ffffc9000b778000
R13: ffffc9000b77ff58 R14: ffffc90000007770 R15: ffffc9000b77ff58
 unwind_next_frame+0xec8/0x1ce0 arch/x86/kernel/unwind_orc.c:611
 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 mm/kasan/common.c:46 [inline]
 set_alloc_info mm/kasan/common.c:434 [inline]
 __kasan_slab_alloc+0x83/0xb0 mm/kasan/common.c:467
 kasan_slab_alloc include/linux/kasan.h:254 [inline]
 slab_post_alloc_hook mm/slab.h:519 [inline]
 slab_alloc_node mm/slub.c:3182 [inline]
 kmem_cache_alloc_node+0x259/0x3d0 mm/slub.c:3218
 __alloc_skb+0x20b/0x340 net/core/skbuff.c:414
 skb_copy+0x137/0x2f0 net/core/skbuff.c:1585
 mac80211_hwsim_tx_frame_no_nl.isra.0+0xb17/0x1330 drivers/net/wireless/mac80211_hwsim.c:1565
 mac80211_hwsim_tx_frame+0x1ee/0x2a0 drivers/net/wireless/mac80211_hwsim.c:1784
 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:folio_test_anon include/linux/page-flags.h:572 [inline]
RIP: 0010:PageAnon include/linux/page-flags.h:577 [inline]
RIP: 0010:page_remove_rmap+0x6f/0x1480 mm/rmap.c:1350
Code: ff 49 89 de 41 83 e6 01 4c 89 f6 e8 3b 76 c6 ff 4d 85 f6 0f 85 c5 07 00 00 e8 cd 70 c6 ff 48 89 eb e8 c5 70 c6 ff 48 8d 7b 18 <48> b8 00 00 00 00 00 fc ff df 48 89 fa 48 c1 ea 03 80 3c 02 00 0f
RSP: 0018:ffffc9000b77f760 EFLAGS: 00000293
RAX: 0000000000000000 RBX: ffffea0001255780 RCX: 0000000000000000
RDX: ffff888021e08000 RSI: ffffffff81af98fb RDI: ffffea0001255798
RBP: ffffea0001255780 R08: 0000000000000000 R09: ffffea0001255787
R10: ffffffff81af98e5 R11: 0000000000000000 R12: ffffea0001255788
R13: 0000000000000000 R14: 0000000000000000 R15: 00007fed92d15000
 zap_pte_range mm/memory.c:1362 [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+0xed5/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:3194
 __mmput+0x122/0x470 kernel/fork.c:1154
 mmput+0x58/0x60 kernel/fork.c:1175
 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:00007fed91c93188 EFLAGS: 00000246 ORIG_RAX: 000000000000012a
RAX: ffffffffffffffa1 RBX: 000000000056bf80 RCX: 00000000004665f9
RDX: ffffffffffffffff RSI: 0000000000000000 RDI: 0000000020000040
RBP: 00000000004bfcc4 R08: 0000000000000000 R09: 0000000000000000
R10: ffffffffffffffff R11: 0000000000000246 R12: 000000000056bf80
R13: 00007ffca57dee6f R14: 00007fed91c93300 R15: 0000000000022000
----------------
Code disassembly (best guess):
   0:	44 24 10             	rex.R and $0x10,%al
   3:	01 48 8b             	add    %ecx,-0x75(%rax)
   6:	44 24 10             	rex.R and $0x10,%al
   9:	41 39 c4             	cmp    %eax,%r12d
   c:	0f 8f d8 fc ff ff    	jg     0xfffffcea
  12:	e8 21 dd e5 f8       	callq  0xf8e5dd38
  17:	8b 44 24 3c          	mov    0x3c(%rsp),%eax
  1b:	48 83 c4 60          	add    $0x60,%rsp
  1f:	5b                   	pop    %rbx
  20:	5d                   	pop    %rbp
  21:	41 5c                	pop    %r12
  23:	41 5d                	pop    %r13
  25:	41 5e                	pop    %r14
  27:	41 5f                	pop    %r15
  29:	c3                   	retq
* 2a:	e8 09 dd e5 f8       	callq  0xf8e5dd38 <-- trapping instruction
  2f:	48 8b 44 24 18       	mov    0x18(%rsp),%rax
  34:	48 b9 00 00 00 00 00 	movabs $0xdffffc0000000000,%rcx
  3b:	fc ff df
  3e:	48                   	rex.W
  3f:	8d                   	.byte 0x8d

Crashes (2):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2021/08/30 13:38 linux-next 93717cde744f 8f58a0ef .config console log report info ci-upstream-linux-next-kasan-gce-root INFO: rcu detected stall in ieee80211_iface_work
2021/08/22 17:51 linux-next 86ed57fd8c93 b599f2fc .config console log report info ci-upstream-linux-next-kasan-gce-root INFO: rcu detected stall in ieee80211_iface_work
* Struck through repros no longer work on HEAD.