rcu: INFO: rcu_preempt detected stalls on CPUs/tasks: rcu: Tasks blocked on level-0 rcu_node (CPUs 0-1): P837/1:b..l (detected by 0, t=10502 jiffies, g=37457, q=132) task:kworker/u4:3 state:R running task stack:22448 pid: 837 ppid: 2 flags:0x00004000 Workqueue: bat_events batadv_nc_worker Call Trace: context_switch kernel/sched/core.c:4972 [inline] __schedule+0xb72/0x1460 kernel/sched/core.c:6253 preempt_schedule_notrace+0x14d/0x190 kernel/sched/core.c:6498 preempt_schedule_notrace_thunk+0x16/0x18 rcu_is_watching+0x72/0xa0 kernel/rcu/tree.c:1122 rcu_read_lock include/linux/rcupdate.h:689 [inline] batadv_nc_purge_orig_hash net/batman-adv/network-coding.c:412 [inline] batadv_nc_worker+0xcd/0x5b0 net/batman-adv/network-coding.c:723 process_one_work+0x853/0x1140 kernel/workqueue.c:2298 worker_thread+0xac1/0x1320 kernel/workqueue.c:2445 kthread+0x468/0x490 kernel/kthread.c:327 ret_from_fork+0x1f/0x30 rcu: rcu_preempt kthread starved for 10468 jiffies! g37457 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:26576 pid: 14 ppid: 2 flags:0x00004000 Call Trace: context_switch kernel/sched/core.c:4972 [inline] __schedule+0xb72/0x1460 kernel/sched/core.c:6253 schedule+0x12b/0x1f0 kernel/sched/core.c:6326 schedule_timeout+0x1b9/0x300 kernel/time/timer.c:1881 rcu_gp_fqs_loop+0x1fd/0x770 kernel/rcu/tree.c:1955 rcu_gp_kthread+0xa5/0x350 kernel/rcu/tree.c:2128 kthread+0x468/0x490 kernel/kthread.c:327 ret_from_fork+0x1f/0x30 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: 15717 Comm: syz-executor.3 Not tainted 5.16.0-rc4-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 RIP: 0010:__lock_release kernel/locking/lockdep.c:5344 [inline] RIP: 0010:lock_release+0x2d9/0x810 kernel/locking/lockdep.c:5657 Code: 84 c0 0f 85 5d 04 00 00 48 8b 44 24 18 44 89 20 4c 89 e8 48 c1 e8 03 80 3c 18 00 44 8b 7c 24 54 74 08 4c 89 ef e8 d7 3e 6a 00 <4d> 8b 75 00 48 8b 5c 24 10 48 81 c3 50 0a 00 00 48 89 d8 48 c1 e8 RSP: 0018:ffffc90000dc0c20 EFLAGS: 00000046 RAX: 1ffff1100634d500 RBX: dffffc0000000000 RCX: dffffc0000000000 RDX: 1ffff920001b8194 RSI: ffffffff8cb304c8 RDI: ffff888031a6a800 RBP: ffffc90000dc0d50 R08: dffffc0000000000 R09: fffffbfff1bfd1b6 R10: fffffbfff1bfd1b6 R11: 0000000000000000 R12: 0000000000000004 R13: ffff888031a6a800 R14: ffff888031a6a820 R15: 0000000000000004 FS: 00007fba1d0fe700(0000) GS:ffff8880b9b00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000001b32e29000 CR3: 000000002fd7a000 CR4: 00000000003506e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: seqcount_lockdep_reader_access+0x111/0x230 include/linux/seqlock.h:102 timekeeping_get_delta kernel/time/timekeeping.c:252 [inline] timekeeping_get_ns kernel/time/timekeeping.c:386 [inline] ktime_get_update_offsets_now+0xb5/0x460 kernel/time/timekeeping.c:2300 hrtimer_update_base kernel/time/hrtimer.c:631 [inline] hrtimer_interrupt+0x143/0x1040 kernel/time/hrtimer.c:1793 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:lock_acquire+0x21f/0x4d0 kernel/locking/lockdep.c:5641 Code: 08 4c 89 f7 e8 12 71 6a 00 f6 84 24 81 00 00 00 02 0f 85 13 02 00 00 41 f7 c4 00 02 00 00 74 01 fb 48 c7 44 24 40 0e 36 e0 45 <4b> c7 04 2f 00 00 00 00 43 c7 44 2f 09 00 00 00 00 43 c7 44 2f 11 RSP: 0018:ffffc90003fd6d80 EFLAGS: 00000206 RAX: 0000000000000001 RBX: 1ffff920007fadc0 RCX: ffff888031a6a758 RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000000 RBP: ffffc90003fd6ee0 R08: dffffc0000000000 R09: fffffbfff1ff35f3 R10: fffffbfff1ff35f3 R11: 0000000000000000 R12: 0000000000000246 R13: 1ffff920007fadb8 R14: ffffc90003fd6e00 R15: dffffc0000000000 __raw_spin_lock include/linux/spinlock_api_smp.h:133 [inline] _raw_spin_lock+0x2a/0x40 kernel/locking/spinlock.c:154 spin_lock include/linux/spinlock.h:349 [inline] ext4_do_update_inode fs/ext4/inode.c:5077 [inline] ext4_mark_iloc_dirty+0x275/0x1ad0 fs/ext4/inode.c:5694 __ext4_mark_inode_dirty+0x3f6/0x720 fs/ext4/inode.c:5890 ext4_dirty_inode+0xbe/0x100 fs/ext4/inode.c:5919 __mark_inode_dirty+0xb6/0x8f0 fs/fs-writeback.c:2399 mark_inode_dirty include/linux/fs.h:2451 [inline] generic_write_end+0x218/0x360 fs/buffer.c:2202 ext4_da_write_end+0x7bb/0x870 fs/ext4/inode.c:3059 generic_perform_write+0x3da/0x600 mm/filemap.c:3767 ext4_buffered_write_iter+0x391/0x520 fs/ext4/file.c:269 ext4_file_write_iter+0x8f7/0x1bd0 do_iter_readv_writev+0x54f/0x740 do_iter_write+0x21e/0x7b0 fs/read_write.c:851 iter_file_splice_write+0x7eb/0xfa0 fs/splice.c:689 do_splice_from fs/splice.c:767 [inline] direct_splice_actor+0xe6/0x1c0 fs/splice.c:936 splice_direct_to_actor+0x529/0xd00 fs/splice.c:891 do_splice_direct+0x291/0x3e0 fs/splice.c:979 do_sendfile+0x6fe/0x1040 fs/read_write.c:1245 __do_sys_sendfile64 fs/read_write.c:1310 [inline] __se_sys_sendfile64+0x171/0x1d0 fs/read_write.c:1296 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x44/0xd0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x44/0xae RIP: 0033:0x7fba1e188af9 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:00007fba1d0fe188 EFLAGS: 00000246 ORIG_RAX: 0000000000000028 RAX: ffffffffffffffda RBX: 00007fba1e29bf60 RCX: 00007fba1e188af9 RDX: 0000000000000000 RSI: 0000000000000006 RDI: 0000000000000004 RBP: 00007fba1e1e2ff7 R08: 0000000000000000 R09: 0000000000000000 R10: 00008400fffffffb R11: 0000000000000246 R12: 0000000000000000 R13: 00007ffe0b37aa3f R14: 00007fba1d0fe300 R15: 0000000000022000 sched: RT throttling activated ---------------- Code disassembly (best guess): 0: 84 c0 test %al,%al 2: 0f 85 5d 04 00 00 jne 0x465 8: 48 8b 44 24 18 mov 0x18(%rsp),%rax d: 44 89 20 mov %r12d,(%rax) 10: 4c 89 e8 mov %r13,%rax 13: 48 c1 e8 03 shr $0x3,%rax 17: 80 3c 18 00 cmpb $0x0,(%rax,%rbx,1) 1b: 44 8b 7c 24 54 mov 0x54(%rsp),%r15d 20: 74 08 je 0x2a 22: 4c 89 ef mov %r13,%rdi 25: e8 d7 3e 6a 00 callq 0x6a3f01 * 2a: 4d 8b 75 00 mov 0x0(%r13),%r14 <-- trapping instruction 2e: 48 8b 5c 24 10 mov 0x10(%rsp),%rbx 33: 48 81 c3 50 0a 00 00 add $0xa50,%rbx 3a: 48 89 d8 mov %rbx,%rax 3d: 48 rex.W 3e: c1 .byte 0xc1 3f: e8 .byte 0xe8