rcu: INFO: rcu_preempt detected stalls on CPUs/tasks: (detected by 0, t=10502 jiffies, g=455285, q=613) rcu: All QSes seen, last rcu_preempt kthread activity 10503 (4295219479-4295208976), jiffies_till_next_fqs=1, root ->qsmask 0x0 rcu: rcu_preempt kthread starved for 10505 jiffies! g455285 f0x2 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:29080 pid: 13 ppid: 2 flags:0x00004000 Call Trace: context_switch kernel/sched/core.c:4313 [inline] __schedule+0x90c/0x21a0 kernel/sched/core.c:5064 schedule+0xcf/0x270 kernel/sched/core.c:5143 schedule_timeout+0x148/0x250 kernel/time/timer.c:1878 rcu_gp_fqs_loop kernel/rcu/tree.c:1940 [inline] rcu_gp_kthread+0xbbe/0x1d70 kernel/rcu/tree.c:2113 kthread+0x3b1/0x4a0 kernel/kthread.c:292 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:296 ================================ WARNING: inconsistent lock state 5.11.0-rc3-syzkaller #0 Not tainted -------------------------------- inconsistent {IN-HARDIRQ-W} -> {HARDIRQ-ON-W} usage. syz-executor.4/326 [HC0[0]:SC1[1]:HE0:SE0] takes: ffffffff8b37bb58 (rcu_node_0){?.-.}-{2:2}, at: print_other_cpu_stall kernel/rcu/tree_stall.h:493 [inline] ffffffff8b37bb58 (rcu_node_0){?.-.}-{2:2}, at: check_cpu_stall kernel/rcu/tree_stall.h:652 [inline] ffffffff8b37bb58 (rcu_node_0){?.-.}-{2:2}, at: rcu_pending kernel/rcu/tree.c:3751 [inline] ffffffff8b37bb58 (rcu_node_0){?.-.}-{2:2}, at: rcu_sched_clock_irq.cold+0xbc/0xedf kernel/rcu/tree.c:2580 {IN-HARDIRQ-W} state was registered at: lock_acquire kernel/locking/lockdep.c:5437 [inline] lock_acquire+0x29d/0x740 kernel/locking/lockdep.c:5402 __raw_spin_lock_irqsave include/linux/spinlock_api_smp.h:110 [inline] _raw_spin_lock_irqsave+0x39/0x50 kernel/locking/spinlock.c:159 rcu_exp_handler+0x1fc/0x3d0 kernel/rcu/tree_exp.h:678 flush_smp_call_function_queue+0x34b/0x640 kernel/smp.c:425 __sysvec_call_function_single+0x95/0x3d0 arch/x86/kernel/smp.c:248 asm_call_irq_on_stack+0xf/0x20 __run_sysvec_on_irqstack arch/x86/include/asm/irq_stack.h:37 [inline] run_sysvec_on_irqstack_cond arch/x86/include/asm/irq_stack.h:89 [inline] sysvec_call_function_single+0xbd/0x100 arch/x86/kernel/smp.c:243 asm_sysvec_call_function_single+0x12/0x20 arch/x86/include/asm/idtentry.h:636 native_restore_fl arch/x86/include/asm/irqflags.h:41 [inline] arch_local_irq_restore arch/x86/include/asm/irqflags.h:84 [inline] lock_acquire kernel/locking/lockdep.c:5440 [inline] lock_acquire+0x2c7/0x740 kernel/locking/lockdep.c:5402 rcu_lock_acquire include/linux/rcupdate.h:259 [inline] rcu_read_lock include/linux/rcupdate.h:648 [inline] d_alloc_parallel+0x17f/0x19b0 fs/dcache.c:2555 __lookup_slow+0x193/0x480 fs/namei.c:1529 lookup_slow fs/namei.c:1561 [inline] walk_component+0x418/0x6a0 fs/namei.c:1861 link_path_walk.part.0+0x703/0xc70 fs/namei.c:2186 link_path_walk fs/namei.c:2113 [inline] path_openat+0x25a/0x2730 fs/namei.c:3367 do_filp_open+0x17e/0x3c0 fs/namei.c:3398 do_open_execat+0x116/0x690 fs/exec.c:913 bprm_execve fs/exec.c:1801 [inline] bprm_execve+0x4be/0x19a0 fs/exec.c:1788 kernel_execve+0x370/0x460 fs/exec.c:1969 call_usermodehelper_exec_async+0x2de/0x580 kernel/umh.c:110 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:296 irq event stamp: 6562641 hardirqs last enabled at (6562640): [] asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:628 hardirqs last disabled at (6562641): [] sysvec_apic_timer_interrupt+0xc/0x100 arch/x86/kernel/apic/apic.c:1096 softirqs last enabled at (6436110): [] asm_call_irq_on_stack+0xf/0x20 softirqs last disabled at (6436113): [] asm_call_irq_on_stack+0xf/0x20 other info that might help us debug this: Possible unsafe locking scenario: CPU0 ---- lock(rcu_node_0); lock(rcu_node_0); *** DEADLOCK *** 4 locks held by syz-executor.4/326: #0: ffff88807e8b5e00 (&iint->mutex){+.+.}-{3:3}, at: process_measurement+0x363/0x1790 security/integrity/ima/ima_main.c:253 #1: ffffffff8b3738a0 (rcu_read_lock){....}-{1:2}, at: ieee80211_rx_napi+0x0/0x3d0 include/linux/etherdevice.h:329 #2: ffffffff8b3738a0 (rcu_read_lock){....}-{1:2}, at: sta_info_get_bss+0x81/0x3f0 net/mac80211/sta_info.c:194 #3: ffffffff8b37bb58 (rcu_node_0){?.-.}-{2:2}, at: print_other_cpu_stall kernel/rcu/tree_stall.h:493 [inline] #3: ffffffff8b37bb58 (rcu_node_0){?.-.}-{2:2}, at: check_cpu_stall kernel/rcu/tree_stall.h:652 [inline] #3: ffffffff8b37bb58 (rcu_node_0){?.-.}-{2:2}, at: rcu_pending kernel/rcu/tree.c:3751 [inline] #3: ffffffff8b37bb58 (rcu_node_0){?.-.}-{2:2}, at: rcu_sched_clock_irq.cold+0xbc/0xedf kernel/rcu/tree.c:2580 stack backtrace: CPU: 0 PID: 326 Comm: syz-executor.4 Not tainted 5.11.0-rc3-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: __dump_stack lib/dump_stack.c:79 [inline] dump_stack+0x107/0x163 lib/dump_stack.c:120 print_usage_bug kernel/locking/lockdep.c:4413 [inline] valid_state kernel/locking/lockdep.c:3751 [inline] mark_lock_irq kernel/locking/lockdep.c:3954 [inline] mark_lock.cold+0x56/0x73 kernel/locking/lockdep.c:4411 mark_held_locks+0x9f/0xe0 kernel/locking/lockdep.c:4012 __trace_hardirqs_on_caller kernel/locking/lockdep.c:4030 [inline] lockdep_hardirqs_on_prepare kernel/locking/lockdep.c:4098 [inline] lockdep_hardirqs_on_prepare+0x135/0x400 kernel/locking/lockdep.c:4050 trace_hardirqs_on+0x5b/0x1c0 kernel/trace/trace_preemptirq.c:49 asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:628 RIP: 0010:arch_atomic_read arch/x86/include/asm/atomic.h:29 [inline] RIP: 0010:rcu_dynticks_curr_cpu_in_eqs kernel/rcu/tree.c:321 [inline] RIP: 0010:rcu_is_watching+0x63/0xc0 kernel/rcu/tree.c:1113 Code: 80 3c 02 00 75 5b 48 03 1c ed c0 b6 e6 8a 48 b8 00 00 00 00 00 fc ff df 48 8d bb 28 01 00 00 48 89 fa 48 c1 ea 03 0f b6 14 02 <48> 89 f8 83 e0 07 83 c0 03 38 d0 7c 04 84 d2 75 1f 8b 83 28 01 00 RSP: 0018:ffffc90000007bd8 EFLAGS: 00000a02 RAX: dffffc0000000000 RBX: ffff8880b9e35a80 RCX: 0000000000000100 RDX: 0000000000000000 RSI: 0000000000000102 RDI: ffff8880b9e35ba8 RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000 R10: ffffffff884db77c R11: 0000000000000000 R12: ffff88808f42b05a R13: ffff88808d5f0c80 R14: 1ffff92000000f7f R15: ffffc90000007d40 rcu_read_lock include/linux/rcupdate.h:649 [inline] sta_info_get_bss+0x352/0x3f0 net/mac80211/sta_info.c:198 __ieee80211_rx_handle_packet net/mac80211/rx.c:4623 [inline] ieee80211_rx_list+0x1057/0x2430 net/mac80211/rx.c:4744 ieee80211_rx_napi+0xf7/0x3d0 net/mac80211/rx.c:4767 ieee80211_rx include/net/mac80211.h:4507 [inline] ieee80211_tasklet_handler+0xd4/0x130 net/mac80211/main.c:235 tasklet_action_common.constprop.0+0x1d7/0x2d0 kernel/softirq.c:555 __do_softirq+0x2bc/0xa29 kernel/softirq.c:343 asm_call_irq_on_stack+0xf/0x20 __run_on_irqstack arch/x86/include/asm/irq_stack.h:26 [inline] run_on_irqstack_cond arch/x86/include/asm/irq_stack.h:77 [inline] do_softirq_own_stack+0xaa/0xd0 arch/x86/kernel/irq_64.c:77 invoke_softirq kernel/softirq.c:226 [inline] __irq_exit_rcu kernel/softirq.c:420 [inline] irq_exit_rcu+0x134/0x200 kernel/softirq.c:432 sysvec_apic_timer_interrupt+0x4d/0x100 arch/x86/kernel/apic/apic.c:1096 asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:628 RIP: 0010:loop2+0x359/0x39e Code: 40 c5 fd 6f e6 c5 fd 6f ef 48 81 ff 00 02 00 00 0f 82 bb fc ff ff 48 8b bc 24 10 02 00 00 48 8b b4 24 08 02 00 00 03 07 89 07 <03> 5f 04 89 5f 04 03 4f 08 89 4f 08 44 03 47 0c 44 89 47 0c 03 57 RSP: 0018:ffffc9000302f100 EFLAGS: 00000213 RAX: 00000000037c864c RBX: 0000000075a626f8 RCX: 00000000a22da354 RDX: 000000000a6e914b RSI: ffff88805dd945c0 RDI: ffffc9000302f408 RBP: ffffc9000302f400 R08: 00000000bca010fe R09: 000000008e84e3e3 R10: 00000000ae109c9d R11: 000000002de2a5ff R12: 0000000034a000f8 R13: 00000000b03a32d4 R14: 00000000b231c559 R15: 000000005f9cb771 softirq: huh, entered softirq 6 TASKLET 00000000d42e5a5b with preempt_count 00000101, exited with 00000102?