rcu: INFO: rcu_preempt detected stalls on CPUs/tasks: rcu: 0-...!: (1 GPs behind) idle=c4d/1/0x4000000000000000 softirq=177425/177426 fqs=2567 (detected by 1, t=10502 jiffies, g=314813, q=2153) Sending NMI from CPU 1 to CPUs 0: NMI backtrace for cpu 0 CPU: 0 PID: 496 Comm: kworker/u4:4 Not tainted 5.15.0-rc2-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Workqueue: bat_events batadv_iv_send_outstanding_bat_ogm_packet RIP: 0010:lock_acquire+0x1/0x4d0 kernel/locking/lockdep.c:5593 Code: 0f 8c b5 fd ff ff 48 c7 c7 d8 25 dc 8d e8 47 d5 69 00 e9 a4 fd ff ff 66 90 65 8b 05 b1 f3 9d 7e a9 00 ff ff 00 0f 95 c0 c3 55 <48> 89 e5 41 57 41 56 41 55 41 54 53 48 83 e4 e0 48 81 ec 20 01 00 RSP: 0018:ffffc90000007c68 EFLAGS: 00000046 RAX: 0000000000010002 RBX: 1ffff92000000f94 RCX: 0000000000000000 RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff8880b9c22258 RBP: ffffc90000007d10 R08: 0000000000000001 R09: 0000000000000000 R10: ffffed10173864a2 R11: 0000000000000000 R12: ffff8880b9c22240 R13: 1ffff92000000f90 R14: ffffc90000007ca0 R15: dffffc0000000000 FS: 0000000000000000(0000) GS:ffff8880b9c00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000020000040 CR3: 0000000088cd8000 CR4: 00000000001526f0 Call Trace: __raw_spin_lock_irq include/linux/spinlock_api_smp.h:128 [inline] _raw_spin_lock_irq+0xcf/0x110 kernel/locking/spinlock.c:170 __run_hrtimer kernel/time/hrtimer.c:1689 [inline] __hrtimer_run_queues+0x546/0xa60 kernel/time/hrtimer.c:1749 hrtimer_interrupt+0x3b3/0x1040 kernel/time/hrtimer.c:1811 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1086 [inline] __sysvec_apic_timer_interrupt+0xf9/0x270 arch/x86/kernel/apic/apic.c:1103 sysvec_apic_timer_interrupt+0x8c/0xb0 arch/x86/kernel/apic/apic.c:1097 asm_sysvec_apic_timer_interrupt+0x12/0x20 RIP: 0010:arch_atomic_long_read include/linux/atomic/atomic-long.h:29 [inline] RIP: 0010:atomic_long_read include/linux/atomic/atomic-instrumented.h:1184 [inline] RIP: 0010:__mutex_trylock_common+0xcd/0x300 kernel/locking/mutex.c:101 Code: 44 24 18 4c 89 e7 be 08 00 00 00 e8 0d aa 6a 00 4c 89 e0 48 c1 e8 03 42 80 3c 30 00 74 08 4c 89 e7 e8 57 a8 6a 00 49 8b 1c 24 <48> c7 c0 40 08 93 90 48 c1 e8 03 48 89 44 24 30 48 c7 c0 d8 25 dc RSP: 0018:ffffc9000312f7e0 EFLAGS: 00000246 RAX: 1ffff1100f9b2c13 RBX: 0000000000000000 RCX: ffffffff816328f3 RDX: 0000000000000000 RSI: 0000000000000008 RDI: ffff88807cd96098 RBP: ffffc9000312f8b0 R08: dffffc0000000000 R09: ffffed100f9b2c14 R10: ffffed100f9b2c14 R11: 0000000000000000 R12: ffff88807cd96098 R13: ffffc9000312f840 R14: dffffc0000000000 R15: 1ffff92000625f08 __mutex_trylock kernel/locking/mutex.c:146 [inline] __mutex_lock_common+0x1ed/0x2550 kernel/locking/mutex.c:598 __mutex_lock kernel/locking/mutex.c:729 [inline] mutex_lock_nested+0x1a/0x20 kernel/locking/mutex.c:743 batadv_iv_ogm_schedule+0xd9/0x1020 net/batman-adv/bat_iv_ogm.c:868 batadv_iv_send_outstanding_bat_ogm_packet+0x71c/0x830 net/batman-adv/bat_iv_ogm.c:1713 process_one_work+0x853/0x1140 kernel/workqueue.c:2297 worker_thread+0xac1/0x1320 kernel/workqueue.c:2444 kthread+0x453/0x480 kernel/kthread.c:319 ret_from_fork+0x1f/0x30 rcu: rcu_preempt kthread starved for 5266 jiffies! g314813 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:26768 pid: 14 ppid: 2 flags:0x00004000 Call Trace: context_switch kernel/sched/core.c:4940 [inline] __schedule+0xc8d/0x1270 kernel/sched/core.c:6287 schedule+0x14b/0x210 kernel/sched/core.c:6366 schedule_timeout+0x1b9/0x300 kernel/time/timer.c:1881 rcu_gp_fqs_loop+0x1fd/0x770 kernel/rcu/tree.c:1957 rcu_gp_kthread+0xa5/0x350 kernel/rcu/tree.c:2130 kthread+0x453/0x480 kernel/kthread.c:319 ret_from_fork+0x1f/0x30 rcu: Stack dump where RCU GP kthread last ran: NMI backtrace for cpu 1 CPU: 1 PID: 6624 Comm: syz-executor.1 Not tainted 5.15.0-rc2-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+0x1dc/0x2d8 lib/dump_stack.c:106 nmi_cpu_backtrace+0x45f/0x490 lib/nmi_backtrace.c:105 nmi_trigger_cpumask_backtrace+0x16a/0x280 lib/nmi_backtrace.c:62 trigger_single_cpu_backtrace include/linux/nmi.h:164 [inline] rcu_check_gp_kthread_starvation+0x1ff/0x270 kernel/rcu/tree_stall.h:481 print_other_cpu_stall kernel/rcu/tree_stall.h:586 [inline] check_cpu_stall kernel/rcu/tree_stall.h:729 [inline] rcu_pending kernel/rcu/tree.c:3880 [inline] rcu_sched_clock_irq+0x23d5/0x2bc0 kernel/rcu/tree.c:2599 update_process_times+0x197/0x200 kernel/time/timer.c:1785 tick_sched_handle kernel/time/tick-sched.c:226 [inline] tick_sched_timer+0x27d/0x420 kernel/time/tick-sched.c:1421 __run_hrtimer kernel/time/hrtimer.c:1685 [inline] __hrtimer_run_queues+0x4cb/0xa60 kernel/time/hrtimer.c:1749 hrtimer_interrupt+0x3b3/0x1040 kernel/time/hrtimer.c:1811 local_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1086 [inline] __sysvec_apic_timer_interrupt+0xf9/0x270 arch/x86/kernel/apic/apic.c:1103 sysvec_apic_timer_interrupt+0x8c/0xb0 arch/x86/kernel/apic/apic.c:1097 asm_sysvec_apic_timer_interrupt+0x12/0x20 RIP: 0010:csd_lock_wait kernel/smp.c:440 [inline] RIP: 0010:smp_call_function_many_cond+0xbb2/0xda0 kernel/smp.c:969 Code: 83 e6 01 31 ff e8 8e 9f 0b 00 41 83 e7 01 49 bf 00 00 00 00 00 fc ff df 75 0e e8 69 9b 0b 00 eb 4c 0f 1f 80 00 00 00 00 f3 90 <42> 0f b6 04 3b 84 c0 75 11 41 f7 45 00 01 00 00 00 74 2b e8 46 9b RSP: 0018:ffffc900047a7440 EFLAGS: 00000293 RAX: ffffffff8176da3a RBX: 1ffff11017387305 RCX: ffff88806ee95580 RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000000 RBP: ffffc900047a7580 R08: ffffffff8176da02 R09: ffffffff84353810 R10: 0000000000000009 R11: ffff88806ee95580 R12: 0000000000000000 R13: ffff8880b9c39828 R14: ffff8880b9d325c0 R15: dffffc0000000000 on_each_cpu_cond_mask+0x3b/0x80 kernel/smp.c:1135 __flush_tlb_multi arch/x86/include/asm/paravirt.h:87 [inline] flush_tlb_multi arch/x86/mm/tlb.c:927 [inline] flush_tlb_mm_range+0x29e/0x490 arch/x86/mm/tlb.c:1013 tlb_flush arch/x86/include/asm/tlb.h:23 [inline] tlb_flush_mmu_tlbonly include/asm-generic/tlb.h:426 [inline] tlb_flush_mmu+0x1a7/0x910 mm/mmu_gather.c:248 tlb_finish_mmu+0xcb/0x200 mm/mmu_gather.c:340 exit_mmap+0x3dd/0x6f0 mm/mmap.c:3173 __mmput+0x111/0x3a0 kernel/fork.c:1115 exit_mm+0x63e/0x7a0 kernel/exit.c:501 do_exit+0x67f/0x2580 kernel/exit.c:812 do_group_exit+0x168/0x2d0 kernel/exit.c:922 get_signal+0x16e0/0x20c0 kernel/signal.c:2868 arch_do_signal_or_restart+0x9c/0x730 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+0x191/0x220 kernel/entry/common.c:207 __syscall_exit_to_user_mode_work kernel/entry/common.c:289 [inline] syscall_exit_to_user_mode+0x2e/0x70 kernel/entry/common.c:300 do_syscall_64+0x53/0xd0 arch/x86/entry/common.c:86 entry_SYSCALL_64_after_hwframe+0x44/0xae RIP: 0033:0x7f890534d5f1 Code: Unable to access opcode bytes at RIP 0x7f890534d5c7. RSP: 002b:00007ffee56e6a40 EFLAGS: 00000293 ORIG_RAX: 00000000000000e6 RAX: fffffffffffffdfc RBX: 0000000000000c6b RCX: 00007f890534d5f1 RDX: 00007ffee56e6a80 RSI: 0000000000000000 RDI: 0000000000000000 RBP: 00007ffee56e6b0c R08: 0000000000000000 R09: 0000000000000010 R10: 0000000000000000 R11: 0000000000000293 R12: 0000000000000032 R13: 000000000022ac12 R14: 0000000000000005 R15: 00007ffee56e6b70 ---------------- Code disassembly (best guess): 0: 0f 8c b5 fd ff ff jl 0xfffffdbb 6: 48 c7 c7 d8 25 dc 8d mov $0xffffffff8ddc25d8,%rdi d: e8 47 d5 69 00 callq 0x69d559 12: e9 a4 fd ff ff jmpq 0xfffffdbb 17: 66 90 xchg %ax,%ax 19: 65 8b 05 b1 f3 9d 7e mov %gs:0x7e9df3b1(%rip),%eax # 0x7e9df3d1 20: a9 00 ff ff 00 test $0xffff00,%eax 25: 0f 95 c0 setne %al 28: c3 retq 29: 55 push %rbp * 2a: 48 89 e5 mov %rsp,%rbp <-- trapping instruction 2d: 41 57 push %r15 2f: 41 56 push %r14 31: 41 55 push %r13 33: 41 54 push %r12 35: 53 push %rbx 36: 48 83 e4 e0 and $0xffffffffffffffe0,%rsp 3a: 48 rex.W 3b: 81 .byte 0x81 3c: ec in (%dx),%al 3d: 20 01 and %al,(%rcx)