BUG: sleeping function called from invalid context at kernel/workqueue.c:3414 in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 8958, name: syz.2.967 preempt_count: 100, expected: 0 RCU nest depth: 1, expected: 0 3 locks held by syz.2.967/8958: #0: ffffffff8d1320e0 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire include/linux/rcupdate.h:334 [inline] #0: ffffffff8d1320e0 (rcu_read_lock){....}-{1:2}, at: rcu_read_lock include/linux/rcupdate.h:786 [inline] #0: ffffffff8d1320e0 (rcu_read_lock){....}-{1:2}, at: lock_vma_under_rcu+0xe5/0x660 mm/memory.c:5503 #1: ffff88805c471730 (&vma->vm_lock->lock){++++}-{3:3}, at: vma_start_read include/linux/mm.h:669 [inline] #1: ffff88805c471730 (&vma->vm_lock->lock){++++}-{3:3}, at: lock_vma_under_rcu+0x249/0x660 mm/memory.c:5509 #2: ffffc900001f0be0 ((&vub300->inactivity_timer)){+.-.}-{0:0}, at: call_timer_fn+0xd2/0x540 kernel/time/timer.c:1698 Preemption disabled at: [] softirq_handle_begin kernel/softirq.c:419 [inline] [] handle_softirqs+0x101/0x820 kernel/softirq.c:554 CPU: 1 PID: 8958 Comm: syz.2.967 Not tainted syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026 Call Trace: dump_stack_lvl+0x18c/0x250 lib/dump_stack.c:106 __might_resched+0x48d/0x5f0 kernel/sched/core.c:10212 start_flush_work kernel/workqueue.c:3414 [inline] __flush_work+0x10f/0xac0 kernel/workqueue.c:3474 __cancel_work_timer+0x3f8/0x560 kernel/workqueue.c:3562 mmc_free_host+0x19/0x30 drivers/mmc/core/host.c:694 call_timer_fn+0x189/0x540 kernel/time/timer.c:1701 expire_timers kernel/time/timer.c:1752 [inline] __run_timers+0x570/0x810 kernel/time/timer.c:2023 run_timer_softirq+0x67/0xf0 kernel/time/timer.c:2036 handle_softirqs+0x27d/0x820 kernel/softirq.c:578 __do_softirq kernel/softirq.c:612 [inline] invoke_softirq kernel/softirq.c:452 [inline] __irq_exit_rcu+0xd3/0x190 kernel/softirq.c:661 irq_exit_rcu+0x9/0x20 kernel/softirq.c:673 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1088 [inline] sysvec_apic_timer_interrupt+0xa4/0xc0 arch/x86/kernel/apic/apic.c:1088 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:687 RIP: 0010:lock_acquire+0x208/0x420 kernel/locking/lockdep.c:5758 Code: f7 84 24 80 00 00 00 00 02 00 00 43 c6 44 3c 04 f8 0f 85 f0 00 00 00 41 f7 c6 00 02 00 00 74 01 fb 48 c7 44 24 60 0e 36 e0 45 <4b> c7 04 3c 00 00 00 00 43 c7 44 3c 08 00 00 00 00 65 48 8b 04 25 RSP: 0000:ffffc90003467b60 EFLAGS: 00000206 RAX: 0000000000000001 RBX: 0000000000000001 RCX: 0d6bbf7096c6d500 RDX: 0000000000000000 RSI: ffffffff8acade60 RDI: ffffffff8b1d35e0 RBP: ffffc90003467c68 R08: dffffc0000000000 R09: 1ffffffff223dea8 R10: dffffc0000000000 R11: fffffbfff223dea9 R12: 1ffff9200068cf78 R13: ffff88805c471730 R14: 0000000000000246 R15: dffffc0000000000 down_read_trylock+0x232/0x3b0 kernel/locking/rwsem.c:1562 vma_start_read include/linux/mm.h:669 [inline] lock_vma_under_rcu+0x249/0x660 mm/memory.c:5509 do_user_addr_fault+0x31c/0x12d0 arch/x86/mm/fault.c:1314 handle_page_fault arch/x86/mm/fault.c:1463 [inline] exc_page_fault+0x64/0x100 arch/x86/mm/fault.c:1516 asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:608 RIP: 0033:0x7fe92625524e Code: c1 49 39 4f 08 72 54 8d 4d ff 85 ed 74 3b 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 48 39 f0 72 1b 4d 8b 07 49 89 c1 49 29 f1 <47> 0f b6 0c 08 45 84 c9 74 08 45 88 0c 00 49 8b 47 10 48 83 c0 01 RSP: 002b:00007fe9272db470 EFLAGS: 00010206 RAX: 0000000000006001 RBX: 00007fe9272db530 RCX: 0000000000000003 RDX: 0000000000000002 RSI: 0000000000000001 RDI: 00007fe9272db5d0 RBP: 00000000000000fa R08: 00007fe91c1f7000 R09: 0000000000006000 R10: 0000000000000000 R11: 00007fe9272db540 R12: 0000000000000001 R13: 00007fe926455000 R14: 0000000000000000 R15: 00007fe9272db5d0 ============================= WARNING: suspicious RCU usage syzkaller #0 Tainted: G W ----------------------------- kernel/rcu/srcutree.c:1377 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 syz.2.967/8958: #0: ffffffff8d1320e0 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire include/linux/rcupdate.h:334 [inline] #0: ffffffff8d1320e0 (rcu_read_lock){....}-{1:2}, at: rcu_read_lock include/linux/rcupdate.h:786 [inline] #0: ffffffff8d1320e0 (rcu_read_lock){....}-{1:2}, at: lock_vma_under_rcu+0xe5/0x660 mm/memory.c:5503 #1: ffff88805c471730 (&vma->vm_lock->lock){++++}-{3:3}, at: vma_start_read include/linux/mm.h:669 [inline] #1: ffff88805c471730 (&vma->vm_lock->lock){++++}-{3:3}, at: lock_vma_under_rcu+0x249/0x660 mm/memory.c:5509 #2: ffffc900001f0be0 ((&vub300->inactivity_timer)){+.-.}-{0:0}, at: call_timer_fn+0xd2/0x540 kernel/time/timer.c:1698 stack backtrace: CPU: 1 PID: 8958 Comm: syz.2.967 Tainted: G W syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026 Call Trace: dump_stack_lvl+0x18c/0x250 lib/dump_stack.c:106 lockdep_rcu_suspicious+0x1e1/0x300 kernel/locking/lockdep.c:6731 __synchronize_srcu+0x150/0x3d0 kernel/rcu/srcutree.c:1373 wakeup_source_remove drivers/base/power/wakeup.c:198 [inline] wakeup_source_unregister+0x116/0x190 drivers/base/power/wakeup.c:242 mmc_host_classdev_release+0x47/0x100 drivers/mmc/core/host.c:77 device_release+0xbc/0x1e0 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+0x21b/0x450 lib/kobject.c:737 call_timer_fn+0x189/0x540 kernel/time/timer.c:1701 expire_timers kernel/time/timer.c:1752 [inline] __run_timers+0x570/0x810 kernel/time/timer.c:2023 run_timer_softirq+0x67/0xf0 kernel/time/timer.c:2036 handle_softirqs+0x27d/0x820 kernel/softirq.c:578 __do_softirq kernel/softirq.c:612 [inline] invoke_softirq kernel/softirq.c:452 [inline] __irq_exit_rcu+0xd3/0x190 kernel/softirq.c:661 irq_exit_rcu+0x9/0x20 kernel/softirq.c:673 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1088 [inline] sysvec_apic_timer_interrupt+0xa4/0xc0 arch/x86/kernel/apic/apic.c:1088 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:687 RIP: 0010:lock_acquire+0x208/0x420 kernel/locking/lockdep.c:5758 Code: f7 84 24 80 00 00 00 00 02 00 00 43 c6 44 3c 04 f8 0f 85 f0 00 00 00 41 f7 c6 00 02 00 00 74 01 fb 48 c7 44 24 60 0e 36 e0 45 <4b> c7 04 3c 00 00 00 00 43 c7 44 3c 08 00 00 00 00 65 48 8b 04 25 RSP: 0000:ffffc90003467b60 EFLAGS: 00000206 RAX: 0000000000000001 RBX: 0000000000000001 RCX: 0d6bbf7096c6d500 RDX: 0000000000000000 RSI: ffffffff8acade60 RDI: ffffffff8b1d35e0 RBP: ffffc90003467c68 R08: dffffc0000000000 R09: 1ffffffff223dea8 R10: dffffc0000000000 R11: fffffbfff223dea9 R12: 1ffff9200068cf78 R13: ffff88805c471730 R14: 0000000000000246 R15: dffffc0000000000 down_read_trylock+0x232/0x3b0 kernel/locking/rwsem.c:1562 vma_start_read include/linux/mm.h:669 [inline] lock_vma_under_rcu+0x249/0x660 mm/memory.c:5509 do_user_addr_fault+0x31c/0x12d0 arch/x86/mm/fault.c:1314 handle_page_fault arch/x86/mm/fault.c:1463 [inline] exc_page_fault+0x64/0x100 arch/x86/mm/fault.c:1516 asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:608 RIP: 0033:0x7fe92625524e Code: c1 49 39 4f 08 72 54 8d 4d ff 85 ed 74 3b 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 48 39 f0 72 1b 4d 8b 07 49 89 c1 49 29 f1 <47> 0f b6 0c 08 45 84 c9 74 08 45 88 0c 00 49 8b 47 10 48 83 c0 01 RSP: 002b:00007fe9272db470 EFLAGS: 00010206 RAX: 0000000000006001 RBX: 00007fe9272db530 RCX: 0000000000000003 RDX: 0000000000000002 RSI: 0000000000000001 RDI: 00007fe9272db5d0 RBP: 00000000000000fa R08: 00007fe91c1f7000 R09: 0000000000006000 R10: 0000000000000000 R11: 00007fe9272db540 R12: 0000000000000001 R13: 00007fe926455000 R14: 0000000000000000 R15: 00007fe9272db5d0 BUG: sleeping function called from invalid context at kernel/rcu/srcutree.c:1381 in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 8958, name: syz.2.967 preempt_count: 100, expected: 0 RCU nest depth: 1, expected: 0 3 locks held by syz.2.967/8958: #0: ffffffff8d1320e0 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire include/linux/rcupdate.h:334 [inline] #0: ffffffff8d1320e0 (rcu_read_lock){....}-{1:2}, at: rcu_read_lock include/linux/rcupdate.h:786 [inline] #0: ffffffff8d1320e0 (rcu_read_lock){....}-{1:2}, at: lock_vma_under_rcu+0xe5/0x660 mm/memory.c:5503 #1: ffff88805c471730 (&vma->vm_lock->lock){++++}-{3:3}, at: vma_start_read include/linux/mm.h:669 [inline] #1: ffff88805c471730 (&vma->vm_lock->lock){++++}-{3:3}, at: lock_vma_under_rcu+0x249/0x660 mm/memory.c:5509 #2: ffffc900001f0be0 ((&vub300->inactivity_timer)){+.-.}-{0:0}, at: call_timer_fn+0xd2/0x540 kernel/time/timer.c:1698 Preemption disabled at: [] softirq_handle_begin kernel/softirq.c:419 [inline] [] handle_softirqs+0x101/0x820 kernel/softirq.c:554 CPU: 1 PID: 8958 Comm: syz.2.967 Tainted: G W syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026 Call Trace: dump_stack_lvl+0x18c/0x250 lib/dump_stack.c:106 __might_resched+0x48d/0x5f0 kernel/sched/core.c:10212 __synchronize_srcu+0x197/0x3d0 kernel/rcu/srcutree.c:1381 wakeup_source_remove drivers/base/power/wakeup.c:198 [inline] wakeup_source_unregister+0x116/0x190 drivers/base/power/wakeup.c:242 mmc_host_classdev_release+0x47/0x100 drivers/mmc/core/host.c:77 device_release+0xbc/0x1e0 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+0x21b/0x450 lib/kobject.c:737 call_timer_fn+0x189/0x540 kernel/time/timer.c:1701 expire_timers kernel/time/timer.c:1752 [inline] __run_timers+0x570/0x810 kernel/time/timer.c:2023 run_timer_softirq+0x67/0xf0 kernel/time/timer.c:2036 handle_softirqs+0x27d/0x820 kernel/softirq.c:578 __do_softirq kernel/softirq.c:612 [inline] invoke_softirq kernel/softirq.c:452 [inline] __irq_exit_rcu+0xd3/0x190 kernel/softirq.c:661 irq_exit_rcu+0x9/0x20 kernel/softirq.c:673 instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1088 [inline] sysvec_apic_timer_interrupt+0xa4/0xc0 arch/x86/kernel/apic/apic.c:1088 asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:687 RIP: 0010:lock_acquire+0x208/0x420 kernel/locking/lockdep.c:5758 Code: f7 84 24 80 00 00 00 00 02 00 00 43 c6 44 3c 04 f8 0f 85 f0 00 00 00 41 f7 c6 00 02 00 00 74 01 fb 48 c7 44 24 60 0e 36 e0 45 <4b> c7 04 3c 00 00 00 00 43 c7 44 3c 08 00 00 00 00 65 48 8b 04 25 RSP: 0000:ffffc90003467b60 EFLAGS: 00000206 RAX: 0000000000000001 RBX: 0000000000000001 RCX: 0d6bbf7096c6d500 RDX: 0000000000000000 RSI: ffffffff8acade60 RDI: ffffffff8b1d35e0 RBP: ffffc90003467c68 R08: dffffc0000000000 R09: 1ffffffff223dea8 R10: dffffc0000000000 R11: fffffbfff223dea9 R12: 1ffff9200068cf78 R13: ffff88805c471730 R14: 0000000000000246 R15: dffffc0000000000 down_read_trylock+0x232/0x3b0 kernel/locking/rwsem.c:1562 vma_start_read include/linux/mm.h:669 [inline] lock_vma_under_rcu+0x249/0x660 mm/memory.c:5509 do_user_addr_fault+0x31c/0x12d0 arch/x86/mm/fault.c:1314 handle_page_fault arch/x86/mm/fault.c:1463 [inline] exc_page_fault+0x64/0x100 arch/x86/mm/fault.c:1516 asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:608 RIP: 0033:0x7fe92625524e Code: c1 49 39 4f 08 72 54 8d 4d ff 85 ed 74 3b 66 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 48 39 f0 72 1b 4d 8b 07 49 89 c1 49 29 f1 <47> 0f b6 0c 08 45 84 c9 74 08 45 88 0c 00 49 8b 47 10 48 83 c0 01 RSP: 002b:00007fe9272db470 EFLAGS: 00010206 RAX: 0000000000006001 RBX: 00007fe9272db530 RCX: 0000000000000003 RDX: 0000000000000002 RSI: 0000000000000001 RDI: 00007fe9272db5d0 RBP: 00000000000000fa R08: 00007fe91c1f7000 R09: 0000000000006000 R10: 0000000000000000 R11: 00007fe9272db540 R12: 0000000000000001 R13: 00007fe926455000 R14: 0000000000000000 R15: 00007fe9272db5d0 ODEBUG: object ffffc900001f09c0 is NOT on stack ffffc90003460000, but annotated. ====================================================== ---------------- Code disassembly (best guess): 0: f7 84 24 80 00 00 00 testl $0x200,0x80(%rsp) 7: 00 02 00 00 b: 43 c6 44 3c 04 f8 movb $0xf8,0x4(%r12,%r15,1) 11: 0f 85 f0 00 00 00 jne 0x107 17: 41 f7 c6 00 02 00 00 test $0x200,%r14d 1e: 74 01 je 0x21 20: fb sti 21: 48 c7 44 24 60 0e 36 movq $0x45e0360e,0x60(%rsp) 28: e0 45 * 2a: 4b c7 04 3c 00 00 00 movq $0x0,(%r12,%r15,1) <-- trapping instruction 31: 00 32: 43 c7 44 3c 08 00 00 movl $0x0,0x8(%r12,%r15,1) 39: 00 00 3b: 65 gs 3c: 48 rex.W 3d: 8b .byte 0x8b 3e: 04 25 add $0x25,%al