BUG: sleeping function called from invalid context at kernel/workqueue.c:4487
in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 6078, name: udevd
preempt_count: 101, expected: 0
RCU nest depth: 1, expected: 0
3 locks held by udevd/6078:
#0:
ffffffff8eb59c60 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:300 [inline]
ffffffff8eb59c60 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:840 [inline]
ffffffff8eb59c60 (rcu_read_lock){....}-{1:3}, at: fast_dput+0x1e/0x670 fs/dcache.c:938
#1: ffff8880239e43c0 (&lockref->lock){+.+.}-{3:3}, at: spin_lock include/linux/spinlock.h:342 [inline]
#1: ffff8880239e43c0 (&lockref->lock){+.+.}-{3:3}, at: fast_dput+0x29c/0x670 fs/dcache.c:947
#2: ffffc90000007cc0 ((&vub300->inactivity_timer)){+.-.}-{0:0}, at: call_timer_fn+0xd4/0x5e0 kernel/time/timer.c:1745
Preemption disabled at:
[<0000000000000000>] 0x0
CPU: 0 UID: 0 PID: 6078 Comm: udevd Not tainted syzkaller #0 PREEMPT(full)
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026
Call Trace:
dump_stack_lvl+0xe8/0x150 lib/dump_stack.c:120
__might_resched+0x378/0x4d0 kernel/sched/core.c:9197
__cancel_work_sync+0x6d/0x110 kernel/workqueue.c:4487
mmc_free_host+0x19/0x30 drivers/mmc/core/host.c:700
call_timer_fn+0x192/0x5e0 kernel/time/timer.c:1748
expire_timers kernel/time/timer.c:1799 [inline]
__run_timers kernel/time/timer.c:2374 [inline]
__run_timer_base+0x652/0x8b0 kernel/time/timer.c:2386
run_timer_base kernel/time/timer.c:2395 [inline]
run_timer_softirq+0xb7/0x170 kernel/time/timer.c:2405
handle_softirqs+0x225/0x840 kernel/softirq.c:622
__do_softirq kernel/softirq.c:656 [inline]
invoke_softirq kernel/softirq.c:496 [inline]
__irq_exit_rcu+0xca/0x220 kernel/softirq.c:735
irq_exit_rcu+0x9/0x30 kernel/softirq.c:752
instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1062 [inline]
sysvec_apic_timer_interrupt+0xa6/0xc0 arch/x86/kernel/apic/apic.c:1062
asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:674
RIP: 0010:lock_acquire+0x221/0x350 kernel/locking/lockdep.c:5872
Code: ff ff ff e8 f1 6c 2e 0a f7 44 24 08 00 02 00 00 0f 84 3a ff ff ff 65 48 8b 05 db 87 ca 11 48 3b 44 24 58 75 33 fb 48 83 c4 60 <5b> 41 5c 41 5d 41 5e 41 5f 5d e9 40 6f 31 0a cc 48 8d 3d c8 63 b8
RSP: 0018:ffffc9000cd77898 EFLAGS: 00000282
RAX: f3a09f8a9e138100 RBX: 0000000000000000 RCX: 0000000080000001
RDX: 000000008341f741 RSI: ffffffff8e4b420d RDI: ffffffff8c4bdd80
RBP: ffffffff824e09fc R08: ffffffff824e09fc R09: 0000000000000000
R10: 0000000000000000 R11: ffff8880239e43c0 R12: 0000000000000000
R13: ffff8880239e43c0 R14: 0000000000000001 R15: 0000000000000246
__raw_spin_lock include/linux/spinlock_api_smp.h:158 [inline]
_raw_spin_lock+0x2e/0x40 kernel/locking/spinlock.c:158
spin_lock include/linux/spinlock.h:342 [inline]
fast_dput+0x29c/0x670 fs/dcache.c:947
dput+0x30/0x60 fs/dcache.c:1040
path_put fs/namei.c:722 [inline]
terminate_walk+0x2bf/0x4c0 fs/namei.c:853
path_lookupat+0x74f/0x8c0 fs/namei.c:2830
filename_lookup+0x265/0x5d0 fs/namei.c:2842
vfs_statx+0xfc/0x200 fs/stat.c:353
vfs_fstatat+0x11b/0x170 fs/stat.c:373
__do_sys_newfstatat fs/stat.c:538 [inline]
__se_sys_newfstatat fs/stat.c:532 [inline]
__x64_sys_newfstatat+0x151/0x200 fs/stat.c:532
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0x174/0x580 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7feaad511b0a
Code: 48 8b 15 f1 f2 0d 00 f7 d8 64 89 02 b8 ff ff ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 41 89 ca b8 06 01 00 00 0f 05 <3d> 00 f0 ff ff 77 07 31 c0 c3 0f 1f 40 00 48 8b 15 b9 f2 0d 00 f7
RSP: 002b:00007ffc2ad37798 EFLAGS: 00000206 ORIG_RAX: 0000000000000106
RAX: ffffffffffffffda RBX: 00007ffc2ad38170 RCX: 00007feaad511b0a
RDX: 00007ffc2ad377c0 RSI: 00007ffc2ad38170 RDI: 00000000ffffff9c
RBP: 00007ffc2ad38182 R08: 0000000000000075 R09: 0000000000000000
R10: 0000000000000100 R11: 0000000000000206 R12: 000055df6050c575
R13: 00007ffc2ad37850 R14: 000055df29e4e6d7 R15: 000055df6050c570
=============================
WARNING: suspicious RCU usage
syzkaller #0 Tainted: G W
-----------------------------
kernel/rcu/srcutree.c:1487 Illegal synchronize_srcu() in same-type SRCU (or in RCU) read-side critical section!
other info that might help us debug this:
rcu_scheduler_active = 2, debug_locks = 1
3 locks held by udevd/6078:
#0: ffffffff8eb59c60 (rcu_read_lock
){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:300 [inline]
){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:840 [inline]
){....}-{1:3}, at: fast_dput+0x1e/0x670 fs/dcache.c:938
#1: ffff8880239e43c0 (&lockref->lock){+.+.}-{3:3}, at: spin_lock include/linux/spinlock.h:342 [inline]
#1: ffff8880239e43c0 (&lockref->lock){+.+.}-{3:3}, at: fast_dput+0x29c/0x670 fs/dcache.c:947
#2: ffffc90000007cc0 ((&vub300->inactivity_timer)){+.-.}-{0:0}, at: call_timer_fn+0xd4/0x5e0 kernel/time/timer.c:1745
stack backtrace:
CPU: 0 UID: 0 PID: 6078 Comm: udevd Tainted: G W syzkaller #0 PREEMPT(full)
Tainted: [W]=WARN
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026
Call Trace:
dump_stack_lvl+0xe8/0x150 lib/dump_stack.c:120
lockdep_rcu_suspicious+0x13f/0x1d0 kernel/locking/lockdep.c:6876
__synchronize_srcu+0x157/0x2f0 kernel/rcu/srcutree.c:1483
wakeup_source_remove drivers/base/power/wakeup.c:201 [inline]
wakeup_source_unregister+0x129/0x3f0 drivers/base/power/wakeup.c:237
mmc_host_classdev_release+0x47/0x100 drivers/mmc/core/host.c:69
device_release+0xc4/0x1f0 drivers/base/core.c:-1
kobject_cleanup lib/kobject.c:689 [inline]
kobject_release lib/kobject.c:720 [inline]
kref_put include/linux/kref.h:65 [inline]
kobject_put+0x222/0x550 lib/kobject.c:737
call_timer_fn+0x192/0x5e0 kernel/time/timer.c:1748
expire_timers kernel/time/timer.c:1799 [inline]
__run_timers kernel/time/timer.c:2374 [inline]
__run_timer_base+0x652/0x8b0 kernel/time/timer.c:2386
run_timer_base kernel/time/timer.c:2395 [inline]
run_timer_softirq+0xb7/0x170 kernel/time/timer.c:2405
handle_softirqs+0x225/0x840 kernel/softirq.c:622
__do_softirq kernel/softirq.c:656 [inline]
invoke_softirq kernel/softirq.c:496 [inline]
__irq_exit_rcu+0xca/0x220 kernel/softirq.c:735
irq_exit_rcu+0x9/0x30 kernel/softirq.c:752
instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1062 [inline]
sysvec_apic_timer_interrupt+0xa6/0xc0 arch/x86/kernel/apic/apic.c:1062
asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:674
RIP: 0010:lock_acquire+0x221/0x350 kernel/locking/lockdep.c:5872
Code: ff ff ff e8 f1 6c 2e 0a f7 44 24 08 00 02 00 00 0f 84 3a ff ff ff 65 48 8b 05 db 87 ca 11 48 3b 44 24 58 75 33 fb 48 83 c4 60 <5b> 41 5c 41 5d 41 5e 41 5f 5d e9 40 6f 31 0a cc 48 8d 3d c8 63 b8
RSP: 0018:ffffc9000cd77898 EFLAGS: 00000282
RAX: f3a09f8a9e138100 RBX: 0000000000000000 RCX: 0000000080000001
RDX: 000000008341f741 RSI: ffffffff8e4b420d RDI: ffffffff8c4bdd80
RBP: ffffffff824e09fc R08: ffffffff824e09fc R09: 0000000000000000
R10: 0000000000000000 R11: ffff8880239e43c0 R12: 0000000000000000
R13: ffff8880239e43c0 R14: 0000000000000001 R15: 0000000000000246
__raw_spin_lock include/linux/spinlock_api_smp.h:158 [inline]
_raw_spin_lock+0x2e/0x40 kernel/locking/spinlock.c:158
spin_lock include/linux/spinlock.h:342 [inline]
fast_dput+0x29c/0x670 fs/dcache.c:947
dput+0x30/0x60 fs/dcache.c:1040
path_put fs/namei.c:722 [inline]
terminate_walk+0x2bf/0x4c0 fs/namei.c:853
path_lookupat+0x74f/0x8c0 fs/namei.c:2830
filename_lookup+0x265/0x5d0 fs/namei.c:2842
vfs_statx+0xfc/0x200 fs/stat.c:353
vfs_fstatat+0x11b/0x170 fs/stat.c:373
__do_sys_newfstatat fs/stat.c:538 [inline]
__se_sys_newfstatat fs/stat.c:532 [inline]
__x64_sys_newfstatat+0x151/0x200 fs/stat.c:532
do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
do_syscall_64+0x174/0x580 arch/x86/entry/syscall_64.c:94
entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7feaad511b0a
Code: 48 8b 15 f1 f2 0d 00 f7 d8 64 89 02 b8 ff ff ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 41 89 ca b8 06 01 00 00 0f 05 <3d> 00 f0 ff ff 77 07 31 c0 c3 0f 1f 40 00 48 8b 15 b9 f2 0d 00 f7
RSP: 002b:00007ffc2ad37798 EFLAGS: 00000206 ORIG_RAX: 0000000000000106
RAX: ffffffffffffffda RBX: 00007ffc2ad38170 RCX: 00007feaad511b0a
RDX: 00007ffc2ad377c0 RSI: 00007ffc2ad38170 RDI: 00000000ffffff9c
RBP: 00007ffc2ad38182 R08: 0000000000000075 R09: 0000000000000000
R10: 0000000000000100 R11: 0000000000000206 R12: 000055df6050c575
R13: 00007ffc2ad37850 R14: 000055df29e4e6d7 R15: 000055df6050c570
ODEBUG: object ffffc90000007a80 is NOT on stack ffffc9000cd70000, but annotated.
======================================================
----------------
Code disassembly (best guess), 2 bytes skipped:
0: ff ljmp (bad)
1: e8 f1 6c 2e 0a call 0xa2e6cf7
6: f7 44 24 08 00 02 00 testl $0x200,0x8(%rsp)
d: 00
e: 0f 84 3a ff ff ff je 0xffffff4e
14: 65 48 8b 05 db 87 ca mov %gs:0x11ca87db(%rip),%rax # 0x11ca87f7
1b: 11
1c: 48 3b 44 24 58 cmp 0x58(%rsp),%rax
21: 75 33 jne 0x56
23: fb sti
24: 48 83 c4 60 add $0x60,%rsp
* 28: 5b pop %rbx <-- trapping instruction
29: 41 5c pop %r12
2b: 41 5d pop %r13
2d: 41 5e pop %r14
2f: 41 5f pop %r15
31: 5d pop %rbp
32: e9 40 6f 31 0a jmp 0xa316f77
37: cc int3
38: 48 rex.W
39: 8d .byte 0x8d
3a: 3d .byte 0x3d
3b: c8 .byte 0xc8
3c: 63 .byte 0x63
3d: b8 .byte 0xb8