[v6.1] INFO: rcu detected stall in blkdev_close

0 views
Skip to first unread message

syzbot

unread,
Nov 9, 2023, 9:43:27 PM11/9/23
to syzkaller...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: fb2635ac69ab Linux 6.1.62
git tree: linux-6.1.y
console output: https://syzkaller.appspot.com/x/log.txt?x=15367050e80000
kernel config: https://syzkaller.appspot.com/x/.config?x=d1540e3da5e5623f
dashboard link: https://syzkaller.appspot.com/bug?extid=2cac96134362d8884a47
compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40

Unfortunately, I don't have any reproducer for this issue yet.

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/1bcbea336c80/disk-fb2635ac.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/859797d77ed0/vmlinux-fb2635ac.xz
kernel image: https://storage.googleapis.com/syzbot-assets/acd7a084757b/bzImage-fb2635ac.xz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+2cac96...@syzkaller.appspotmail.com

rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
rcu: Tasks blocked on level-0 rcu_node (CPUs 0-1): P20741/1:b..l
(detected by 0, t=10502 jiffies, g=200805, q=238 ncpus=2)
task:udevd state:R running task stack:26344 pid:20741 ppid:3001 flags:0x00004002
Call Trace:
<TASK>
context_switch kernel/sched/core.c:5241 [inline]
__schedule+0x142d/0x4550 kernel/sched/core.c:6554
preempt_schedule_irq+0xf7/0x1c0 kernel/sched/core.c:6866
irqentry_exit+0x53/0x80 kernel/entry/common.c:433
asm_sysvec_apic_timer_interrupt+0x16/0x20 arch/x86/include/asm/idtentry.h:649
RIP: 0010:save_stack+0x1c/0x1e0 mm/page_owner.c:110
Code: 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 55 48 89 e5 41 57 41 56 41 55 41 54 53 48 83 e4 e0 48 81 ec 00 01 00 00 89 7c 24 1c <65> 48 8b 04 25 28 00 00 00 48 89 84 24 e0 00 00 00 49 bc 00 00 00
RSP: 0018:ffffc9002605f5c0 EFLAGS: 00000286
RAX: ffff8880189e8c70 RBX: ffff8880189e8c70 RCX: ffff8880273d9dc0
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000002800
RBP: ffffc9002605f6f8 R08: ffffffff81ec5ac6 R09: fffffbfff2091845
R10: 0000000000000000 R11: dffffc0000000001 R12: dffffc0000000000
R13: 0000000000000000 R14: 0000000000000000 R15: dffffc0000000000
__reset_page_owner+0x52/0x1a0 mm/page_owner.c:148
reset_page_owner include/linux/page_owner.h:24 [inline]
free_pages_prepare mm/page_alloc.c:1440 [inline]
free_pcp_prepare mm/page_alloc.c:1490 [inline]
free_unref_page_prepare+0xf63/0x1120 mm/page_alloc.c:3358
free_unref_page_list+0x663/0x900 mm/page_alloc.c:3499
release_pages+0x2836/0x2b40 mm/swap.c:1055
__pagevec_release+0x80/0xf0 mm/swap.c:1075
pagevec_release include/linux/pagevec.h:71 [inline]
folio_batch_release include/linux/pagevec.h:135 [inline]
truncate_inode_pages_range+0x48a/0x1340 mm/truncate.c:373
kill_bdev block/bdev.c:76 [inline]
blkdev_flush_mapping+0x154/0x2b0 block/bdev.c:662
blkdev_put_whole block/bdev.c:693 [inline]
blkdev_put+0x4c0/0x750 block/bdev.c:953
blkdev_close+0x56/0x80 block/fops.c:514
__fput+0x3b7/0x890 fs/file_table.c:320
task_work_run+0x246/0x300 kernel/task_work.c:179
resume_user_mode_work include/linux/resume_user_mode.h:49 [inline]
exit_to_user_mode_loop+0xde/0x100 kernel/entry/common.c:171
exit_to_user_mode_prepare+0xb1/0x140 kernel/entry/common.c:204
__syscall_exit_to_user_mode_work kernel/entry/common.c:286 [inline]
syscall_exit_to_user_mode+0x60/0x270 kernel/entry/common.c:297
do_syscall_64+0x49/0xb0 arch/x86/entry/common.c:86
entry_SYSCALL_64_after_hwframe+0x63/0xcd
RIP: 0033:0x7fb6b35170a8
RSP: 002b:00007ffe6e0679d8 EFLAGS: 00000246 ORIG_RAX: 0000000000000003
RAX: 0000000000000000 RBX: 00007fb6b38beae0 RCX: 00007fb6b35170a8
RDX: 0000559fcf27fc4d RSI: 00007ffe6e0671d8 RDI: 0000000000000008
RBP: 0000559a968c62c0 R08: 0000000000000006 R09: 5628549a1aadf773
R10: 000000000000010f R11: 0000000000000246 R12: 0000000000000002
R13: 0000559a968da5a0 R14: 0000000000000008 R15: 0000559a968c5910
</TASK>
rcu: rcu_preempt kthread starved for 10279 jiffies! g200805 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:26136 pid:16 ppid:2 flags:0x00004000
Call Trace:
<TASK>
context_switch kernel/sched/core.c:5241 [inline]
__schedule+0x142d/0x4550 kernel/sched/core.c:6554
schedule+0xbf/0x180 kernel/sched/core.c:6630
schedule_timeout+0x1b9/0x300 kernel/time/timer.c:1935
rcu_gp_fqs_loop+0x2c2/0x1010 kernel/rcu/tree.c:1661
rcu_gp_kthread+0xa3/0x3a0 kernel/rcu/tree.c:1860
kthread+0x28d/0x320 kernel/kthread.c:376
ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:306
</TASK>
rcu: Stack dump where RCU GP kthread last ran:
Sending NMI from CPU 0 to CPUs 1:
NMI backtrace for cpu 1 skipped: idling at native_safe_halt arch/x86/include/asm/irqflags.h:51 [inline]
NMI backtrace for cpu 1 skipped: idling at arch_safe_halt arch/x86/include/asm/irqflags.h:89 [inline]
NMI backtrace for cpu 1 skipped: idling at acpi_safe_halt drivers/acpi/processor_idle.c:112 [inline]
NMI backtrace for cpu 1 skipped: idling at acpi_idle_do_entry+0x10f/0x340 drivers/acpi/processor_idle.c:572


---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzk...@googlegroups.com.

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.

If the report is already addressed, let syzbot know by replying with:
#syz fix: exact-commit-title

If you want to overwrite report's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)

If the report is a duplicate of another one, reply with:
#syz dup: exact-subject-of-another-report

If you want to undo deduplication, reply with:
#syz undup

syzbot

unread,
Feb 17, 2024, 9:43:10 PMFeb 17
to syzkaller...@googlegroups.com
Auto-closing this bug as obsolete.
Crashes did not happen for a while, no reproducer and no activity.
Reply all
Reply to author
Forward
0 new messages