Hello,
syzbot found the following issue on:
HEAD commit: ef251c45f1cd Linux 5.15.204
git tree: linux-5.15.y
console output:
https://syzkaller.appspot.com/x/log.txt?x=1469656a580000
kernel config:
https://syzkaller.appspot.com/x/.config?x=353ae28c40b35af5
dashboard link:
https://syzkaller.appspot.com/bug?extid=e788d199648e5ddfa0a8
compiler: Debian clang version 21.1.8 (++20251221033036+2078da43e25a-1~exp1~20251221153213.50), Debian LLD 21.1.8
Unfortunately, I don't have any reproducer for this issue yet.
Downloadable assets:
disk image:
https://storage.googleapis.com/syzbot-assets/bde897c3d01f/disk-ef251c45.raw.xz
vmlinux:
https://storage.googleapis.com/syzbot-assets/51b2a5826cd1/vmlinux-ef251c45.xz
kernel image:
https://storage.googleapis.com/syzbot-assets/cb95a5a40121/bzImage-ef251c45.xz
IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by:
syzbot+e788d1...@syzkaller.appspotmail.com
rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
rcu: Tasks blocked on level-0 rcu_node (CPUs 0-1): P5852/1:b..l
(detected by 0, t=10502 jiffies, g=17493, q=508)
task:syz.0.404 state:R running task stack:23376 pid: 5852 ppid: 4190 flags:0x00004002
Call Trace:
<TASK>
context_switch kernel/sched/core.c:5049 [inline]
__schedule+0x11ef/0x43c0 kernel/sched/core.c:6395
preempt_schedule_irq+0xbb/0x160 kernel/sched/core.c:6799
irqentry_exit+0x63/0x70 kernel/entry/common.c:432
asm_sysvec_apic_timer_interrupt+0x16/0x20 arch/x86/include/asm/idtentry.h:676
RIP: 0010:lock_acquire+0x208/0x400 kernel/locking/lockdep.c:5627
Code: f7 84 24 80 00 00 00 00 02 00 00 43 c6 44 3d 04 f8 0f 85 f1 00 00 00 41 f7 c6 00 02 00 00 74 01 fb 48 c7 44 24 60 0e 36 e0 45 <4b> c7 44 3d 00 00 00 00 00 43 c7 44 3d 08 00 00 00 00 65 48 8b 04
RSP: 0018:ffffc90003367120 EFLAGS: 00000206
RAX: 0000000000000001 RBX: 0000000000000000 RCX: 75efaf513f895d00
RDX: 0000000000000000 RSI: ffffffff8a2b3aa0 RDI: ffffffff8a79fe00
RBP: ffffc90003367238 R08: dffffc0000000000 R09: 1ffffffff203aa18
R10: dffffc0000000000 R11: fffffbfff203aa19 R12: ffffffff8c31eb20
R13: 1ffff9200066ce30 R14: 0000000000000246 R15: dffffc0000000000
rcu_lock_acquire+0x20/0x30 include/linux/rcupdate.h:313
rcu_read_lock include/linux/rcupdate.h:740 [inline]
percpu_ref_put_many include/linux/percpu-refcount.h:317 [inline]
percpu_ref_put+0x16/0x150 include/linux/percpu-refcount.h:338
__mem_cgroup_uncharge_list+0x6c/0xc0 mm/memcontrol.c:7004
mem_cgroup_uncharge_list include/linux/memcontrol.h:720 [inline]
release_pages+0x1864/0x1be0 mm/swap.c:962
__pagevec_release+0x6d/0xe0 mm/swap.c:983
pagevec_release include/linux/pagevec.h:81 [inline]
shmem_undo_range+0x62b/0x1930 mm/shmem.c:964
shmem_truncate_range mm/shmem.c:1063 [inline]
shmem_evict_inode+0x220/0xa40 mm/shmem.c:1145
evict+0x4c9/0x8d0 fs/inode.c:647
__dentry_kill+0x431/0x650 fs/dcache.c:586
dentry_kill+0xb8/0x290 fs/dcache.c:-1
dput+0xd8/0x1a0 fs/dcache.c:893
__fput+0x5ee/0x930 fs/file_table.c:319
task_work_run+0x125/0x1a0 kernel/task_work.c:188
exit_task_work include/linux/task_work.h:33 [inline]
do_exit+0x626/0x20c0 kernel/exit.c:883
do_group_exit+0x12e/0x300 kernel/exit.c:997
get_signal+0x6ca/0x12c0 kernel/signal.c:2900
arch_do_signal_or_restart+0xe7/0x12c0 arch/x86/kernel/signal.c:867
handle_signal_work kernel/entry/common.c:154 [inline]
exit_to_user_mode_loop+0x9e/0x130 kernel/entry/common.c:178
exit_to_user_mode_prepare+0xee/0x180 kernel/entry/common.c:214
irqentry_exit_to_user_mode+0x5/0x30 kernel/entry/common.c:320
exc_page_fault+0x88/0x100 arch/x86/mm/fault.c:1499
asm_exc_page_fault+0x22/0x30 arch/x86/include/asm/idtentry.h:606
RIP: 0033:0x7fd21fd43de1
RSP: 002b:fffffffffffffe70 EFLAGS: 00010217
RAX: 0000000000000000 RBX: 00007fd21ffbd090 RCX: 00007fd21fd43dd9
RDX: 0000000000000000 RSI: fffffffffffffe70 RDI: 0000000000008000
RBP: 00007fd21fdd9d69 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000206 R12: 0000000000000000
R13: 00007fd21ffbd128 R14: 00007fd21ffbd090 R15: 00007ffc6efdd628
</TASK>
rcu: rcu_preempt kthread starved for 9902 jiffies! g17493 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:26960 pid: 15 ppid: 2 flags:0x00004000
Call Trace:
<TASK>
context_switch kernel/sched/core.c:5049 [inline]
__schedule+0x11ef/0x43c0 kernel/sched/core.c:6395
schedule+0x11b/0x1e0 kernel/sched/core.c:6478
schedule_timeout+0x184/0x2d0 kernel/time/timer.c:2117
rcu_gp_fqs_loop+0x2be/0x11d0 kernel/rcu/tree.c:1972
rcu_gp_kthread+0x9b/0x370 kernel/rcu/tree.c:2145
kthread+0x436/0x520 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 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 default_idle+0xb/0x10 arch/x86/kernel/process.c:729
---
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