BUG: sleeping function called from invalid context at kernel/workqueue.c:4487
in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 6187, name: cmp
preempt_count: 101, expected: 0
RCU nest depth: 3, expected: 0
6 locks held by cmp/6187:
#0: ffff888031d4abc8 (vm_lock){++++}-{0:0}, at: lock_vma_under_rcu+0x1d1/0x500 mm/mmap_lock.c:310
#1: ffffffff8eb59c60 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:300 [inline]
#1: ffffffff8eb59c60 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:840 [inline]
#1: ffffffff8eb59c60 (rcu_read_lock){....}-{1:3}, at: do_fault_around mm/memory.c:5817 [inline]
#1: ffffffff8eb59c60 (rcu_read_lock){....}-{1:3}, at: do_read_fault mm/memory.c:5851 [inline]
#1: ffffffff8eb59c60 (rcu_read_lock){....}-{1:3}, at: do_fault mm/memory.c:5994 [inline]
#1: ffffffff8eb59c60 (rcu_read_lock){....}-{1:3}, at: do_pte_missing+0x140c/0x34b0 mm/memory.c:4566
#2: ffffffff8eb59c60 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:300 [inline]
#2: ffffffff8eb59c60 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:840 [inline]
#2: ffffffff8eb59c60 (rcu_read_lock){....}-{1:3}, at: filemap_map_pages+0x1d8/0x2090 mm/filemap.c:3906
#3: ffffffff8eb59c60 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:300 [inline]
#3: ffffffff8eb59c60 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:840 [inline]
#3: ffffffff8eb59c60 (rcu_read_lock){....}-{1:3}, at: __pte_offset_map+0x29/0x240 mm/pgtable-generic.c:290
#4: ffff888029ea7cd8 (ptlock_ptr(ptdesc)#2){+.+.}-{3:3}, at: spin_lock include/linux/spinlock.h:342 [inline]
#4: ffff888029ea7cd8 (ptlock_ptr(ptdesc)#2){+.+.}-{3:3}, at: pte_offset_map_lock+0x13d/0x210 mm/pgtable-generic.c:404
#5: 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: 6187 Comm: cmp 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:kasan_check_range+0x1c8/0x2c0 mm/kasan/generic.c:200
Code: 49 01 dc 4d 01 f3 49 8d 5c 24 07 4d 85 e4 49 0f 49 dc 48 83 e3 f8 49 29 dc 74 0e 41 80 3b 00 75 7c 49 ff c3 49 ff cc 75 f2 5b <41> 5c 41 5d 41 5e 41 5f 5d c3 cc cc cc cc cc 45 84 ff 0f 85 a1 00
RSP: 0000:ffffc9000e2a7800 EFLAGS: 00000256
RAX: ffffffff82216901 RBX: ffffea00004db900 RCX: ffffffff822169bc
RDX: 0000000000000000 RSI: 0000000000000008 RDI: ffffea00004db900
RBP: ffffea00004db930 R08: ffffea00004db907 R09: 1ffffd400009b720
R10: dffffc0000000000 R11: fffff9400009b721 R12: 0000000000000001
R13: ffff888031d4ab40 R14: fffff9400009b721 R15: 1ffffd400009b720
instrument_atomic_read include/linux/instrumented.h:82 [inline]
_test_bit include/asm-generic/bitops/instrumented-non-atomic.h:141 [inline]
folio_test_head include/linux/page-flags.h:843 [inline]
folio_test_large include/linux/page-flags.h:864 [inline]
__folio_add_rmap mm/rmap.c:1364 [inline]
__folio_add_file_rmap mm/rmap.c:1706 [inline]
folio_add_file_rmap_ptes+0x2cc/0xc80 mm/rmap.c:1732
set_pte_range+0x4e2/0x840 mm/memory.c:5586
filemap_map_order0_folio mm/filemap.c:3874 [inline]
filemap_map_pages+0xf35/0x2090 mm/filemap.c:3944
do_fault_around mm/memory.c:5818 [inline]
do_read_fault mm/memory.c:5851 [inline]
do_fault mm/memory.c:5994 [inline]
do_pte_missing+0x20ae/0x34b0 mm/memory.c:4566
handle_pte_fault mm/memory.c:6379 [inline]
__handle_mm_fault mm/memory.c:6517 [inline]
handle_mm_fault+0x1b36/0x3080 mm/memory.c:6686
do_user_addr_fault+0xa4d/0x1340 arch/x86/mm/fault.c:1343
handle_page_fault arch/x86/mm/fault.c:1483 [inline]
exc_page_fault+0x6a/0xc0 arch/x86/mm/fault.c:1536
asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:595
RIP: 0033:0x7f9e31b22950
Code: fa 66 0f 1f 84 00 00 00 00 00 48 83 c2 01 3a 02 74 f8 48 89 d0 48 29 f8 c3 90 31 c0 c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 <48> 8b 05 51 f5 11 00 48 8b 90 e0 01 00 00 48 81 e2 00 ff ff ff 7e
RSP: 002b:00007ffcf14cef88 EFLAGS: 00010246
RAX: 00007f9e31b22950 RBX: 00007f9e31a97d80 RCX: 00007f9e31d135f0
RDX: 00007f9e31a7a580 RSI: 0000000000000000 RDI: 0000000000000000
RBP: 00007ffcf14cf0b0 R08: 0000000000000000 R09: 0000000000000000
R10: 00007f9e31a7a580 R11: 00007f9e31a71000 R12: 00007f9e31d135f0
R13: 00007f9e31a982d8 R14: 00007f9e31c40488 R15: 00007f9e31a71000
=============================
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
6 locks held by cmp/6187:
#0: ffff888031d4abc8 (vm_lock){++++}-{0:0}, at: lock_vma_under_rcu+0x1d1/0x500 mm/mmap_lock.c:310
#1: ffffffff8eb59c60 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:300 [inline]
#1: ffffffff8eb59c60 (rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:840 [inline]
#1: ffffffff8eb59c60 (rcu_read_lock){....}-{1:3}, at: do_fault_around mm/memory.c:5817 [inline]
#1: ffffffff8eb59c60 (rcu_read_lock){....}-{1:3}, at: do_read_fault mm/memory.c:5851 [inline]
#1: ffffffff8eb59c60 (rcu_read_lock){....}-{1:3}, at: do_fault mm/memory.c:5994 [inline]
#1: ffffffff8eb59c60 (rcu_read_lock){....}-{1:3}, at: do_pte_missing+0x140c/0x34b0 mm/memory.c:4566
#2: ffffffff8eb59c60
(rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:300 [inline]
(rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:840 [inline]
(rcu_read_lock){....}-{1:3}, at: filemap_map_pages+0x1d8/0x2090 mm/filemap.c:3906
#3: ffffffff8eb59c60 (
rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire include/linux/rcupdate.h:300 [inline]
rcu_read_lock){....}-{1:3}, at: rcu_read_lock include/linux/rcupdate.h:840 [inline]
rcu_read_lock){....}-{1:3}, at: __pte_offset_map+0x29/0x240 mm/pgtable-generic.c:290
#4: ffff888029ea7cd8 (ptlock_ptr(ptdesc)#2){+.+.}-{3:3}, at: spin_lock include/linux/spinlock.h:342 [inline]
#4: ffff888029ea7cd8 (ptlock_ptr(ptdesc)#2){+.+.}-{3:3}, at: pte_offset_map_lock+0x13d/0x210 mm/pgtable-generic.c:404
#5: ffffc90000007cc0 ((&vub300->inactivity_timer)){+.-.}-{0:0}, at: call_timer_fn+0xd4/0x5e0 kernel/time/timer.c:1745
stack backtrace:
CPU: 0 UID: 0 PID: 6187 Comm: cmp 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:kasan_check_range+0x1c8/0x2c0 mm/kasan/generic.c:200
Code: 49 01 dc 4d 01 f3 49 8d 5c 24 07 4d 85 e4 49 0f 49 dc 48 83 e3 f8 49 29 dc 74 0e 41 80 3b 00 75 7c 49 ff c3 49 ff cc 75 f2 5b <41> 5c 41 5d 41 5e 41 5f 5d c3 cc cc cc cc cc 45 84 ff 0f 85 a1 00
RSP: 0000:ffffc9000e2a7800 EFLAGS: 00000256
RAX: ffffffff82216901 RBX: ffffea00004db900 RCX: ffffffff822169bc
RDX: 0000000000000000 RSI: 0000000000000008 RDI: ffffea00004db900
RBP: ffffea00004db930 R08: ffffea00004db907 R09: 1ffffd400009b720
R10: dffffc0000000000 R11: fffff9400009b721 R12: 0000000000000001
R13: ffff888031d4ab40 R14: fffff9400009b721 R15: 1ffffd400009b720
instrument_atomic_read include/linux/instrumented.h:82 [inline]
_test_bit include/asm-generic/bitops/instrumented-non-atomic.h:141 [inline]
folio_test_head include/linux/page-flags.h:843 [inline]
folio_test_large include/linux/page-flags.h:864 [inline]
__folio_add_rmap mm/rmap.c:1364 [inline]
__folio_add_file_rmap mm/rmap.c:1706 [inline]
folio_add_file_rmap_ptes+0x2cc/0xc80 mm/rmap.c:1732
set_pte_range+0x4e2/0x840 mm/memory.c:5586
filemap_map_order0_folio mm/filemap.c:3874 [inline]
filemap_map_pages+0xf35/0x2090 mm/filemap.c:3944
do_fault_around mm/memory.c:5818 [inline]
do_read_fault mm/memory.c:5851 [inline]
do_fault mm/memory.c:5994 [inline]
do_pte_missing+0x20ae/0x34b0 mm/memory.c:4566
handle_pte_fault mm/memory.c:6379 [inline]
__handle_mm_fault mm/memory.c:6517 [inline]
handle_mm_fault+0x1b36/0x3080 mm/memory.c:6686
do_user_addr_fault+0xa4d/0x1340 arch/x86/mm/fault.c:1343
handle_page_fault arch/x86/mm/fault.c:1483 [inline]
exc_page_fault+0x6a/0xc0 arch/x86/mm/fault.c:1536
asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:595
RIP: 0033:0x7f9e31b22950
Code: fa 66 0f 1f 84 00 00 00 00 00 48 83 c2 01 3a 02 74 f8 48 89 d0 48 29 f8 c3 90 31 c0 c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 00 <48> 8b 05 51 f5 11 00 48 8b 90 e0 01 00 00 48 81 e2 00 ff ff ff 7e
RSP: 002b:00007ffcf14cef88 EFLAGS: 00010246
RAX: 00007f9e31b22950 RBX: 00007f9e31a97d80 RCX: 00007f9e31d135f0
RDX: 00007f9e31a7a580 RSI: 0000000000000000 RDI: 0000000000000000
RBP: 00007ffcf14cf0b0 R08: 0000000000000000 R09: 0000000000000000
R10: 00007f9e31a7a580 R11: 00007f9e31a71000 R12: 00007f9e31d135f0
R13: 00007f9e31a982d8 R14: 00007f9e31c40488 R15: 00007f9e31a71000
ODEBUG: object ffffc90000007a80 is NOT on stack ffffc9000e2a0000, but annotated.
======================================================
----------------
Code disassembly (best guess):
0: 49 01 dc add %rbx,%r12
3: 4d 01 f3 add %r14,%r11
6: 49 8d 5c 24 07 lea 0x7(%r12),%rbx
b: 4d 85 e4 test %r12,%r12
e: 49 0f 49 dc cmovns %r12,%rbx
12: 48 83 e3 f8 and $0xfffffffffffffff8,%rbx
16: 49 29 dc sub %rbx,%r12
19: 74 0e je 0x29
1b: 41 80 3b 00 cmpb $0x0,(%r11)
1f: 75 7c jne 0x9d
21: 49 ff c3 inc %r11
24: 49 ff cc dec %r12
27: 75 f2 jne 0x1b
29: 5b pop %rbx
* 2a: 41 5c pop %r12 <-- trapping instruction
2c: 41 5d pop %r13
2e: 41 5e pop %r14
30: 41 5f pop %r15
32: 5d pop %rbp
33: c3 ret
34: cc int3
35: cc int3
36: cc int3
37: cc int3
38: cc int3
39: 45 84 ff test %r15b,%r15b
3c: 0f .byte 0xf
3d: 85 .byte 0x85
3e: a1 .byte 0xa1