rcu: INFO: rcu_preempt detected stalls on CPUs/tasks: rcu: 1-...!: (1 GPs behind) idle=3ad/1/0x4000000000000000 softirq=163558/163559 fqs=3 (detected by 0, t=10502 jiffies, g=254921, q=208 ncpus=2) Sending NMI from CPU 0 to CPUs 1: NMI backtrace for cpu 1 CPU: 1 PID: 4725 Comm: kworker/u4:3 Not tainted 5.19.0-rc4-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Workqueue: bat_events batadv_nc_worker RIP: 0010:lockdep_enabled kernel/locking/lockdep.c:121 [inline] RIP: 0010:lock_is_held_type+0x42/0x140 kernel/locking/lockdep.c:5701 Code: 44 04 85 c9 0f 84 d9 00 00 00 65 8b 05 3f 40 8b 76 85 c0 0f 85 ca 00 00 00 65 4c 8b 24 25 80 6f 02 00 41 8b 94 24 5c 0a 00 00 <85> d2 0f 85 b1 00 00 00 48 89 fd 41 89 f6 9c 8f 04 24 fa 48 c7 c7 RSP: 0018:ffffc900001e0cf0 EFLAGS: 00000046 RAX: 0000000000000000 RBX: 1ffff9200003c1aa RCX: 0000000000000001 RDX: 0000000000000000 RSI: 00000000ffffffff RDI: ffffffff8bd865a0 RBP: 0000000000000001 R08: 0000000000000000 R09: ffffffff8dbb8cd7 R10: fffffbfff1b7719a R11: 0000000000000001 R12: ffff888020d90000 R13: 00000000ffffffff R14: ffff8880b9b2a518 R15: 0000000000000000 FS: 0000000000000000(0000) GS:ffff8880b9b00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f3449a7a718 CR3: 00000000897ed000 CR4: 0000000000350ee0 Call Trace: lock_is_held include/linux/lockdep.h:279 [inline] rcu_read_lock_sched_held+0x3a/0x70 kernel/rcu/update.c:125 trace_lock_acquire include/trace/events/lock.h:24 [inline] lock_acquire+0x480/0x570 kernel/locking/lockdep.c:5636 __raw_spin_lock_irq include/linux/spinlock_api_smp.h:119 [inline] _raw_spin_lock_irq+0x32/0x50 kernel/locking/spinlock.c:170 __run_hrtimer kernel/time/hrtimer.c:1689 [inline] __hrtimer_run_queues+0x243/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:1095 [inline] __sysvec_apic_timer_interrupt+0x146/0x530 arch/x86/kernel/apic/apic.c:1112 sysvec_apic_timer_interrupt+0x8e/0xc0 arch/x86/kernel/apic/apic.c:1106 asm_sysvec_apic_timer_interrupt+0x1b/0x20 arch/x86/include/asm/idtentry.h:649 RIP: 0010:lock_acquire+0x1ef/0x570 kernel/locking/lockdep.c:5633 Code: 1e a4 7e 83 f8 01 0f 85 e8 02 00 00 9c 58 f6 c4 02 0f 85 fb 02 00 00 48 83 7c 24 08 00 74 01 fb 48 b8 00 00 00 00 00 fc ff df <48> 01 c3 48 c7 03 00 00 00 00 48 c7 43 08 00 00 00 00 48 8b 84 24 RSP: 0018:ffffc90012ba7b18 EFLAGS: 00000206 RAX: dffffc0000000000 RBX: 1ffff92002574f65 RCX: ffffffff815e058e RDX: 1ffff110041b214b RSI: 0000000000000201 RDI: 0000000000000000 RBP: 0000000000000001 R08: 0000000000000000 R09: ffffffff9067f9e7 R10: fffffbfff20cff3c R11: 0000000000000000 R12: 0000000000000000 R13: 0000000000000000 R14: ffff888076425598 R15: 0000000000000000 __raw_spin_lock_bh include/linux/spinlock_api_smp.h:126 [inline] _raw_spin_lock_bh+0x2f/0x40 kernel/locking/spinlock.c:178 spin_lock_bh include/linux/spinlock.h:354 [inline] batadv_nc_purge_paths+0xdf/0x3a0 net/batman-adv/network-coding.c:442 batadv_nc_worker+0x8f9/0xfa0 net/batman-adv/network-coding.c:720 process_one_work+0x996/0x1610 kernel/workqueue.c:2289 worker_thread+0x665/0x1080 kernel/workqueue.c:2436 kthread+0x2e9/0x3a0 kernel/kthread.c:376 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:302 rcu: rcu_preempt kthread starved for 10496 jiffies! g254921 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:28456 pid: 16 ppid: 2 flags:0x00004000 Call Trace: context_switch kernel/sched/core.c:5146 [inline] __schedule+0xa00/0x4b50 kernel/sched/core.c:6458 schedule+0xd2/0x1f0 kernel/sched/core.c:6530 schedule_timeout+0x14a/0x2a0 kernel/time/timer.c:1935 rcu_gp_fqs_loop+0x186/0x810 kernel/rcu/tree.c:1999 rcu_gp_kthread+0x1de/0x320 kernel/rcu/tree.c:2187 kthread+0x2e9/0x3a0 kernel/kthread.c:376 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:302 rcu: Stack dump where RCU GP kthread last ran: NMI backtrace for cpu 0 CPU: 0 PID: 10279 Comm: syz-executor.4 Not tainted 5.19.0-rc4-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0xcd/0x134 lib/dump_stack.c:106 nmi_cpu_backtrace.cold+0x47/0x144 lib/nmi_backtrace.c:111 nmi_trigger_cpumask_backtrace+0x1e6/0x230 lib/nmi_backtrace.c:62 trigger_single_cpu_backtrace include/linux/nmi.h:164 [inline] rcu_check_gp_kthread_starvation.cold+0x1fb/0x200 kernel/rcu/tree_stall.h:518 print_other_cpu_stall kernel/rcu/tree_stall.h:623 [inline] check_cpu_stall kernel/rcu/tree_stall.h:769 [inline] rcu_pending kernel/rcu/tree.c:3977 [inline] rcu_sched_clock_irq+0x2311/0x2370 kernel/rcu/tree.c:2675 update_process_times+0x11a/0x1a0 kernel/time/timer.c:1839 tick_sched_handle+0x9b/0x180 kernel/time/tick-sched.c:243 tick_sched_timer+0xee/0x120 kernel/time/tick-sched.c:1481 __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:1095 [inline] __sysvec_apic_timer_interrupt+0x146/0x530 arch/x86/kernel/apic/apic.c:1112 sysvec_apic_timer_interrupt+0x8e/0xc0 arch/x86/kernel/apic/apic.c:1106 asm_sysvec_apic_timer_interrupt+0x1b/0x20 arch/x86/include/asm/idtentry.h:649 RIP: 0010:csd_lock_wait kernel/smp.c:414 [inline] RIP: 0010:smp_call_function_many_cond+0x499/0x1110 kernel/smp.c:988 Code: 01 89 ee e8 19 94 0a 00 85 ed 74 47 48 8b 04 24 49 89 c4 83 e0 07 49 c1 ec 03 48 89 c5 4d 01 fc 83 c5 03 e8 b9 97 0a 00 f3 90 <41> 0f b6 04 24 40 38 c5 7c 08 84 c0 0f 85 21 0a 00 00 8b 43 08 31 RSP: 0018:ffffc9000abd7a98 EFLAGS: 00000293 RAX: 0000000000000000 RBX: ffff8880b9b401a0 RCX: 0000000000000000 RDX: ffff888077185880 RSI: ffffffff816fcef7 RDI: 0000000000000005 RBP: 0000000000000003 R08: 0000000000000005 R09: 0000000000000000 R10: 0000000000000001 R11: 0000000000000001 R12: ffffed1017368035 R13: 0000000000000001 R14: 0000000000000001 R15: dffffc0000000000 on_each_cpu_cond_mask+0x56/0xa0 kernel/smp.c:1154 __flush_tlb_multi arch/x86/include/asm/paravirt.h:87 [inline] flush_tlb_multi arch/x86/mm/tlb.c:901 [inline] flush_tlb_mm_range+0x2e0/0x410 arch/x86/mm/tlb.c:987 tlb_flush arch/x86/include/asm/tlb.h:23 [inline] tlb_flush_mmu_tlbonly include/asm-generic/tlb.h:426 [inline] tlb_flush_mmu_tlbonly include/asm-generic/tlb.h:416 [inline] tlb_flush_mmu mm/mmu_gather.c:261 [inline] tlb_finish_mmu+0x33c/0x7e0 mm/mmu_gather.c:353 exit_mmap+0x1de/0x4a0 mm/mmap.c:3164 __mmput+0x122/0x4b0 kernel/fork.c:1187 mmput+0x56/0x60 kernel/fork.c:1208 exit_mm kernel/exit.c:510 [inline] do_exit+0xa12/0x2a00 kernel/exit.c:782 do_group_exit+0xd2/0x2f0 kernel/exit.c:925 __do_sys_exit_group kernel/exit.c:936 [inline] __se_sys_exit_group kernel/exit.c:934 [inline] __x64_sys_exit_group+0x3a/0x50 kernel/exit.c:934 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x46/0xb0 RIP: 0033:0x7f3448889109 Code: Unable to access opcode bytes at RIP 0x7f34488890df. RSP: 002b:00007fff93c21ab8 EFLAGS: 00000246 ORIG_RAX: 00000000000000e7 RAX: ffffffffffffffda RBX: 000000000000001e RCX: 00007f3448889109 RDX: 00007f344883bd4b RSI: ffffffffffffffb8 RDI: 0000000000000000 RBP: 0000000000000000 R08: 00007f34489a0700 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000001 R13: 0000000000000000 R14: 0000000000000001 R15: 00007fff93c21ba0 ---------------- Code disassembly (best guess): 0: 44 04 85 rex.R add $0x85,%al 3: c9 leaveq 4: 0f 84 d9 00 00 00 je 0xe3 a: 65 8b 05 3f 40 8b 76 mov %gs:0x768b403f(%rip),%eax # 0x768b4050 11: 85 c0 test %eax,%eax 13: 0f 85 ca 00 00 00 jne 0xe3 19: 65 4c 8b 24 25 80 6f mov %gs:0x26f80,%r12 20: 02 00 22: 41 8b 94 24 5c 0a 00 mov 0xa5c(%r12),%edx 29: 00 * 2a: 85 d2 test %edx,%edx <-- trapping instruction 2c: 0f 85 b1 00 00 00 jne 0xe3 32: 48 89 fd mov %rdi,%rbp 35: 41 89 f6 mov %esi,%r14d 38: 9c pushfq 39: 8f 04 24 popq (%rsp) 3c: fa cli 3d: 48 rex.W 3e: c7 .byte 0xc7 3f: c7 .byte 0xc7