Hello,
syzbot found the following issue on:
HEAD commit: c86c4726e7f0 Linux 5.15.211
git tree: linux-5.15.y
console output:
https://syzkaller.appspot.com/x/log.txt?x=14687f39580000
kernel config:
https://syzkaller.appspot.com/x/.config?x=6f8e2266b61925dc
dashboard link:
https://syzkaller.appspot.com/bug?extid=8f93fa97486110364716
compiler: Debian clang version 22.1.8 (++20260613092233+e80beda6e255-1~exp1~20260613092250.77), Debian LLD 22.1.8
Unfortunately, I don't have any reproducer for this issue yet.
Downloadable assets:
disk image:
https://storage.googleapis.com/syzbot-assets/c3e980557785/disk-c86c4726.raw.xz
vmlinux:
https://storage.googleapis.com/syzbot-assets/5fbaf3714ad0/vmlinux-c86c4726.xz
kernel image:
https://storage.googleapis.com/syzbot-assets/de60a4f1e940/bzImage-c86c4726.xz
IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by:
syzbot+8f93fa...@syzkaller.appspotmail.com
rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
rcu: Tasks blocked on level-0 rcu_node (CPUs 0-1): P5122/1:b..l P3557/1:b..l
(detected by 1, t=10502 jiffies, g=12945, q=146)
task:udevd state:R running task stack:23856 pid: 3557 ppid: 1 flags:0x00004002
Call Trace:
<TASK>
context_switch kernel/sched/core.c:5049 [inline]
__schedule+0x11c3/0x4350 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:ffffc900010df360 EFLAGS: 00000206
RAX: 0000000000000001 RBX: 0000000000000000 RCX: 6604fc8a95c06c00
RDX: 0000000000000000 RSI: ffffffff8a2b3e80 RDI: ffffffff8a7a2a40
RBP: ffffc900010df478 R08: dffffc0000000000 R09: 1ffffffff203d218
R10: dffffc0000000000 R11: fffffbfff203d219 R12: ffffffff8c31ef20
R13: 1ffff9200021be78 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 include/linux/percpu-refcount.h:338 [inline]
obj_cgroup_put+0xe/0xc0 include/linux/memcontrol.h:816
memcg_slab_free_hook+0x6e/0x1e0 mm/slab.h:367
do_slab_free mm/slub.c:3437 [inline]
___cache_free+0x63/0x120 mm/slub.c:3511
qlist_free_all+0x35/0x90 mm/kasan/quarantine.c:176
kasan_quarantine_reduce+0x150/0x160 mm/kasan/quarantine.c:283
__kasan_slab_alloc+0x2f/0xc0 mm/kasan/common.c:444
kasan_slab_alloc include/linux/kasan.h:254 [inline]
slab_post_alloc_hook+0x4c/0x380 mm/slab.h:519
slab_alloc_node mm/slub.c:3225 [inline]
slab_alloc mm/slub.c:3233 [inline]
kmem_cache_alloc_trace+0x165/0x290 mm/slub.c:3250
kmalloc include/linux/slab.h:607 [inline]
kzalloc include/linux/slab.h:738 [inline]
kernfs_fop_open+0x3c9/0xba0 fs/kernfs/file.c:628
do_dentry_open+0x7f7/0xf90 fs/open.c:826
do_open fs/namei.c:3616 [inline]
path_openat+0x2718/0x2fb0 fs/namei.c:3750
do_filp_open+0x1df/0x400 fs/namei.c:3777
do_sys_openat2+0x14b/0x500 fs/open.c:1255
do_sys_open fs/open.c:1271 [inline]
__do_sys_openat fs/open.c:1287 [inline]
__se_sys_openat fs/open.c:1282 [inline]
__x64_sys_openat+0x135/0x160 fs/open.c:1282
do_syscall_x64 arch/x86/entry/common.c:50 [inline]
do_syscall_64+0x4c/0xa0 arch/x86/entry/common.c:80
entry_SYSCALL_64_after_hwframe+0x66/0xd0
RIP: 0033:0x7f025c4e0407
RSP: 002b:00007ffc01abfa90 EFLAGS: 00000202 ORIG_RAX: 0000000000000101
RAX: ffffffffffffffda RBX: 00007f025c3f2880 RCX: 00007f025c4e0407
RDX: 0000000000080000 RSI: 00007ffc01abfc10 RDI: ffffffffffffff9c
RBP: 0000000000000008 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000202 R12: 000055807b59a7f5
R13: 000055807b59a7f5 R14: 0000000000000001 R15: 00007ffc01ac4260
</TASK>
task:syz.1.250 state:R running task stack:22512 pid: 5122 ppid: 4186 flags:0x00004000
Call Trace:
<TASK>
context_switch kernel/sched/core.c:5049 [inline]
__schedule+0x11c3/0x4350 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_call_function_single+0x16/0x20 arch/x86/include/asm/idtentry.h:684
RIP: 0010:lock_release+0x5a4/0x8a0 kernel/locking/lockdep.c:5647
Code: 80 00 00 00 f7 84 24 80 00 00 00 00 02 00 00 43 c6 44 2c 04 f8 75 6f 41 f7 c7 00 02 00 00 74 01 fb 48 c7 44 24 60 0e 36 e0 45 <4b> c7 04 2c 00 00 00 00 43 c7 44 2c 08 00 00 00 00 65 48 8b 04 25
RSP: 0018:ffffc90003b36ba0 EFLAGS: 00000206
RAX: 0000000000000001 RBX: 9e02af2bd5b94a40 RCX: 304f5dbe7a6e1500
RDX: 0000000000000003 RSI: ffffffff8a2b3e80 RDI: ffffffff8a7a2a40
RBP: ffffc90003b36cc0 R08: ffffffff8d8aeaef R09: 1ffffffff1b15d5d
R10: dffffc0000000000 R11: fffffbfff1b15d5e R12: 1ffff92000766d80
R13: dffffc0000000000 R14: ffff88801dbb4660 R15: 0000000000000246
rcu_read_unlock include/linux/rcupdate.h:773 [inline]
percpu_ref_tryget_many include/linux/percpu-refcount.h:250 [inline]
percpu_ref_tryget+0xcf/0x150 include/linux/percpu-refcount.h:266
css_tryget include/linux/cgroup.h:355 [inline]
get_mem_cgroup_from_mm+0xda/0x260 mm/memcontrol.c:991
__mem_cgroup_charge+0x11/0x80 mm/memcontrol.c:6800
mem_cgroup_charge include/linux/memcontrol.h:700 [inline]
shmem_add_to_page_cache+0xa8a/0x14d0 mm/shmem.c:718
shmem_getpage_gfp+0x1735/0x2c10 mm/shmem.c:1940
shmem_getpage mm/shmem.c:151 [inline]
shmem_write_begin+0xcd/0x1a0 mm/shmem.c:2474
generic_perform_write+0x2b6/0x550 mm/filemap.c:3785
__generic_file_write_iter+0x261/0x4e0 mm/filemap.c:3912
generic_file_write_iter+0xa6/0x1b0 mm/filemap.c:3944
__kernel_write+0x522/0x980 fs/read_write.c:539
__dump_emit+0x258/0x380 fs/coredump.c:943
dump_user_range+0x84/0x340 fs/coredump.c:1017
elf_core_dump+0x2fe0/0x3530 fs/binfmt_elf.c:2285
do_coredump+0x14e8/0x2a40 fs/coredump.c:894
get_signal+0x531/0x12e0 kernel/signal.c:2887
arch_do_signal_or_restart+0xe6/0x12a0 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:0x7fae8a3efb27
RSP: 002b:00007fae88773120 EFLAGS: 00010202
RAX: 0000000000000000 RBX: 000000000000000b RCX: 00007fae8a539e59
RDX: 00007fae88773140 RSI: 00007fae88773270 RDI: 000000000000000b
RBP: 00007fae8a5cfe6f R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000206 R12: 0000000000000000
R13: 00007fae8a7c2038 R14: 00007fae8a7c1fa0 R15: 00007fff9948e468
</TASK>
rcu: rcu_preempt kthread starved for 10587 jiffies! g12945 f0x0 RCU_GP_WAIT_FQS(5) ->state=0x0 ->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:R running task stack:27456 pid: 15 ppid: 2 flags:0x00004000
Call Trace:
<TASK>
context_switch kernel/sched/core.c:5049 [inline]
__schedule+0x11c3/0x4350 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/0x11f0 kernel/rcu/tree.c:1972
rcu_gp_kthread+0x9a/0x370 kernel/rcu/tree.c:2145
kthread+0x42e/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 1 to CPUs 0:
NMI backtrace for cpu 0 skipped: idling at native_safe_halt arch/x86/include/asm/irqflags.h:51 [inline]
NMI backtrace for cpu 0 skipped: idling at arch_safe_halt arch/x86/include/asm/irqflags.h:89 [inline]
NMI backtrace for cpu 0 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