syzbot


INFO: rcu detected stall in kernfs_fop_release

Status: upstream: reported on 2024/08/27 21:43
Reported-by: syzbot+8cd4e555eeab29a91f87@syzkaller.appspotmail.com
First crash: 43d, last: 39d
Similar bugs (2)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream INFO: rcu detected stall in kernfs_fop_release kernfs C error 4 121d 740d 0/28 upstream: reported C repro on 2022/10/01 13:49
android-5-15 BUG: soft lockup in kernfs_fop_release 2 170d 175d 0/2 auto-obsoleted due to no activity on 2024/07/22 00:19

Sample crash report:
rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
rcu: 	Tasks blocked on level-0 rcu_node (CPUs 0-1): P3027/1:b..l P6860/2:b..l
	(detected by 1, t=10502 jiffies, g=30873, q=86)
task:syz.0.577       state:R  running task     stack:27168 pid: 6860 ppid:  5863 flags:0x00004000
Call Trace:
 <TASK>
 context_switch kernel/sched/core.c:5027 [inline]
 __schedule+0x12c4/0x45b0 kernel/sched/core.c:6373
 preempt_schedule_irq+0xf7/0x1c0 kernel/sched/core.c:6777
 irqentry_exit+0x53/0x80 kernel/entry/common.c:432
 asm_sysvec_reschedule_ipi+0x16/0x20 arch/x86/include/asm/idtentry.h:643
RIP: 0010:lock_acquire+0x252/0x4f0 kernel/locking/lockdep.c:5627
Code: 2b 00 74 08 4c 89 f7 e8 4c 7b 67 00 f6 44 24 61 02 0f 85 84 01 00 00 41 f7 c7 00 02 00 00 74 01 fb 48 c7 44 24 40 0e 36 e0 45 <4b> c7 44 25 00 00 00 00 00 43 c7 44 25 09 00 00 00 00 43 c7 44 25
RSP: 0000:ffffc900030a78a0 EFLAGS: 00000206
RAX: 0000000000000001 RBX: 1ffff92000614f20 RCX: 1ffff92000614ec0
RDX: dffffc0000000000 RSI: ffffffff8a8b3cc0 RDI: ffffffff8ad8f7c0
RBP: ffffc900030a79f8 R08: dffffc0000000000 R09: fffffbfff20e1e19
R10: 0000000000000000 R11: dffffc0000000001 R12: 1ffff92000614f1c
R13: dffffc0000000000 R14: ffffc900030a7900 R15: 0000000000000246
 rcu_lock_acquire+0x20/0x30 include/linux/rcupdate.h:312
 rcu_read_lock include/linux/rcupdate.h:739 [inline]
 percpu_ref_tryget_many include/linux/percpu-refcount.h:241 [inline]
 percpu_ref_tryget+0x10/0x140 include/linux/percpu-refcount.h:266
 css_tryget include/linux/cgroup.h:355 [inline]
 get_mem_cgroup_from_mm+0xd9/0x260 mm/memcontrol.c:991
 __mem_cgroup_charge+0x12/0x80 mm/memcontrol.c:6777
 mem_cgroup_charge include/linux/memcontrol.h:700 [inline]
 wp_page_copy+0x3e7/0x2070 mm/memory.c:3048
 handle_pte_fault mm/memory.c:4639 [inline]
 __handle_mm_fault mm/memory.c:4756 [inline]
 handle_mm_fault+0x2a3d/0x5950 mm/memory.c:4854
 do_user_addr_fault arch/x86/mm/fault.c:1357 [inline]
 handle_page_fault arch/x86/mm/fault.c:1445 [inline]
 exc_page_fault+0x271/0x700 arch/x86/mm/fault.c:1501
 asm_exc_page_fault+0x22/0x30 arch/x86/include/asm/idtentry.h:568
RIP: 0033:0x7f41b0da68ac
RSP: 002b:00007ffe31a7fd58 EFLAGS: 00010246
RAX: 0000000000000000 RBX: 00007f41b1bb1720 RCX: 0000000000000000
RDX: 0000000000001cef RSI: ffffffff8151fcef RDI: 0000000000000000
RBP: 0000000000000000 R08: 00007f41b106c000 R09: 00007f41b106e000
R10: 000000008151fcf3 R11: 0000000000000000 R12: ffffffff8151f3ef
R13: 00007f41b1082018 R14: 0000000000000008 R15: 000000000000001b
 </TASK>
task:udevd           state:R  running task     stack:22624 pid: 3027 ppid:     1 flags:0x00004002
Call Trace:
 <TASK>
 context_switch kernel/sched/core.c:5027 [inline]
 __schedule+0x12c4/0x45b0 kernel/sched/core.c:6373
 preempt_schedule_irq+0xf7/0x1c0 kernel/sched/core.c:6777
 irqentry_exit+0x53/0x80 kernel/entry/common.c:432
 asm_sysvec_apic_timer_interrupt+0x16/0x20 arch/x86/include/asm/idtentry.h:638
RIP: 0010:lock_acquire+0x252/0x4f0 kernel/locking/lockdep.c:5627
Code: 2b 00 74 08 4c 89 f7 e8 4c 7b 67 00 f6 44 24 61 02 0f 85 84 01 00 00 41 f7 c7 00 02 00 00 74 01 fb 48 c7 44 24 40 0e 36 e0 45 <4b> c7 44 25 00 00 00 00 00 43 c7 44 25 09 00 00 00 00 43 c7 44 25
RSP: 0018:ffffc90002d876c0 EFLAGS: 00000206
RAX: 0000000000000001 RBX: 1ffff920005b0ee4 RCX: 1ffff920005b0e84
RDX: dffffc0000000000 RSI: ffffffff8a8b3cc0 RDI: ffffffff8ad8f7c0
RBP: ffffc90002d87820 R08: dffffc0000000000 R09: fffffbfff20e1e19
R10: 0000000000000000 R11: dffffc0000000001 R12: 1ffff920005b0ee0
R13: dffffc0000000000 R14: ffffc90002d87720 R15: 0000000000000246
 rcu_lock_acquire+0x2a/0x30 include/linux/rcupdate.h:312
 rcu_read_lock include/linux/rcupdate.h:739 [inline]
 is_bpf_text_address+0x1d/0x260 kernel/bpf/core.c:721
 kernel_text_address kernel/extable.c:151 [inline]
 __kernel_text_address+0x94/0x100 kernel/extable.c:105
 unwind_get_return_address+0x49/0x80 arch/x86/kernel/unwind_orc.c:323
 arch_stack_walk+0xf3/0x140 arch/x86/kernel/stacktrace.c:26
 stack_trace_save+0x113/0x1c0 kernel/stacktrace.c:122
 kasan_save_stack mm/kasan/common.c:38 [inline]
 kasan_set_track+0x4b/0x80 mm/kasan/common.c:46
 kasan_set_free_info+0x1f/0x40 mm/kasan/generic.c:360
 ____kasan_slab_free+0xd8/0x120 mm/kasan/common.c:366
 kasan_slab_free include/linux/kasan.h:230 [inline]
 slab_free_hook mm/slub.c:1705 [inline]
 slab_free_freelist_hook+0xdd/0x160 mm/slub.c:1731
 slab_free mm/slub.c:3499 [inline]
 kmem_cache_free+0x91/0x1f0 mm/slub.c:3515
 seq_release+0x62/0x70 fs/seq_file.c:356
 kernfs_fop_release+0x1eb/0x2b0 fs/kernfs/file.c:761
 __fput+0x3fe/0x8e0 fs/file_table.c:280
 task_work_run+0x129/0x1a0 kernel/task_work.c:188
 tracehook_notify_resume include/linux/tracehook.h:189 [inline]
 exit_to_user_mode_loop+0x106/0x130 kernel/entry/common.c:181
 exit_to_user_mode_prepare+0xb1/0x140 kernel/entry/common.c:214
 __syscall_exit_to_user_mode_work kernel/entry/common.c:296 [inline]
 syscall_exit_to_user_mode+0x5d/0x240 kernel/entry/common.c:307
 do_syscall_64+0x47/0xb0 arch/x86/entry/common.c:86
 entry_SYSCALL_64_after_hwframe+0x66/0xd0
RIP: 0033:0x7fb0ae10637f
RSP: 002b:00007fff95e5c448 EFLAGS: 00000202 ORIG_RAX: 0000000000000003
RAX: 0000000000000000 RBX: 000055f80fc8d830 RCX: 00007fb0ae10637f
RDX: 00007fb0ae1d9860 RSI: 0000000000000000 RDI: 000000000000000c
RBP: 0000000000000000 R08: 000000000000000c R09: 0000000000000000
R10: 0000000000000010 R11: 0000000000000202 R12: 0000000000000000
R13: 0000000000000007 R14: 0000000000000000 R15: 000055f80f062fc1
 </TASK>
rcu: rcu_preempt kthread timer wakeup didn't happen for 10572 jiffies! g30873 f0x0 RCU_GP_WAIT_FQS(5) ->state=0x402
rcu: 	Possible timer handling issue on cpu=0 timer-softirq=10388
rcu: rcu_preempt kthread starved for 10578 jiffies! g30873 f0x0 RCU_GP_WAIT_FQS(5) ->state=0x402 ->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:I stack:26240 pid:   15 ppid:     2 flags:0x00004000
Call Trace:
 <TASK>
 context_switch kernel/sched/core.c:5027 [inline]
 __schedule+0x12c4/0x45b0 kernel/sched/core.c:6373
 schedule+0x11b/0x1f0 kernel/sched/core.c:6456
 schedule_timeout+0x1b9/0x300 kernel/time/timer.c:1914
 rcu_gp_fqs_loop+0x2bf/0x1080 kernel/rcu/tree.c:1972
 rcu_gp_kthread+0xa4/0x360 kernel/rcu/tree.c:2145
 kthread+0x3f6/0x4f0 kernel/kthread.c:334
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:287
 </TASK>
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: 6855 Comm: syz.4.576 Not tainted 5.15.165-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/06/2024
RIP: 0010:tk_clock_read kernel/time/timekeeping.c:195 [inline]
RIP: 0010:timekeeping_get_delta kernel/time/timekeeping.c:255 [inline]
RIP: 0010:timekeeping_get_ns kernel/time/timekeeping.c:388 [inline]
RIP: 0010:ktime_get+0xd5/0x270 kernel/time/timekeeping.c:831
Code: 74 07 e8 de b1 10 00 eb eb e8 d7 b1 10 00 48 8b 1d 28 73 23 0b 48 89 d8 48 c1 e8 03 48 b9 00 00 00 00 00 fc ff df 80 3c 08 00 <74> 08 48 89 df e8 81 7a 5a 00 48 89 df ff 13 49 89 c6 4c 8b 25 0a
RSP: 0018:ffffc900035078a8 EFLAGS: 00000046
RAX: 1ffffffff18ebd84 RBX: ffffffff8c75ec20 RCX: dffffc0000000000
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000
RBP: 00000000000102e2 R08: ffffffff816fafa1 R09: fffffbfff1bd2a56
R10: 0000000000000000 R11: dffffc0000000001 R12: 00000000000003e8
R13: 00000000000102e2 R14: 0000000000000046 R15: ffff8880b902a280
FS:  000055555656b500(0000) GS:ffff8880b9000000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000000002006b000 CR3: 0000000057dc4000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
 <NMI>
 </NMI>
 <TASK>
 clockevents_program_min_delta+0x55/0x410 kernel/time/clockevents.c:241
 hrtimer_start_range_ns+0xab8/0xc50 kernel/time/hrtimer.c:1300
 posixtimer_rearm+0x1ad/0x3f0 kernel/time/posix-timers.c:328
 dequeue_signal+0x1ed/0x520 kernel/signal.c:696
 get_signal+0x52e/0x14e0 kernel/signal.c:2778
 arch_do_signal_or_restart+0xc3/0x1890 arch/x86/kernel/signal.c:867
 handle_signal_work kernel/entry/common.c:154 [inline]
 exit_to_user_mode_loop+0x97/0x130 kernel/entry/common.c:178
 exit_to_user_mode_prepare+0xb1/0x140 kernel/entry/common.c:214
 __syscall_exit_to_user_mode_work kernel/entry/common.c:296 [inline]
 syscall_exit_to_user_mode+0x5d/0x240 kernel/entry/common.c:307
 do_syscall_64+0x47/0xb0 arch/x86/entry/common.c:86
 entry_SYSCALL_64_after_hwframe+0x66/0xd0
RIP: 0033:0x7ff743aafeb9
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 a8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007fffc5720588 EFLAGS: 00000246
RAX: fffffffffffffffc RBX: 00007fffc57206b0 RCX: 00007ff743aafeb9
RDX: 0000000000000000 RSI: 0000000000000080 RDI: 00007ff743c4bf8c
RBP: 00007ff743c4bf8c R08: 0000000000000010 R09: 00007fffc572087f
R10: 00007fffc5720690 R11: 0000000000000246 R12: 000000000003ccea
R13: 00007fffc5720690 R14: 0000000000000032 R15: 000000000003ccb8
 </TASK>

Crashes (2):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/09/01 13:10 linux-5.15.y fa93fa65db6e 1eda0d14 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan INFO: rcu detected stall in kernfs_fop_release
2024/08/27 21:42 linux-5.15.y fa93fa65db6e 6c853ff9 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-5-15-kasan INFO: rcu detected stall in kernfs_fop_release
* Struck through repros no longer work on HEAD.