WARNING: suspicious RCU usage in mmc_free_host

Status: upstream: reported on 2026/08/26 09:11
Reported-by: syzbot+0128e31dce1a8db3bd93@syzkaller.appspotmail.com
First crash: 8d08h, last: 10h20m
Similar bugs (1)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream WARNING: suspicious RCU usage in mmc_free_host mmc prio:high 4 54 1h36m 12d 0/29 upstream: reported on 2026/08/22 06:04

Sample crash report:
=============================
WARNING: suspicious RCU usage
syzkaller #0 Not tainted
-----------------------------
kernel/sched/core.c:10174 Illegal context switch in RCU-sched read-side critical section!

other info that might help us debug this:


rcu_scheduler_active = 2, debug_locks = 1
9 locks held by syz-executor/5776:
 #0: ffffffff8d1d48b0 (dup_mmap_sem){++++}-{0:0}, at: dup_mmap kernel/fork.c:658 [inline]
 #0: ffffffff8d1d48b0 (dup_mmap_sem){++++}-{0:0}, at: dup_mm kernel/fork.c:1700 [inline]
 #0: ffffffff8d1d48b0 (dup_mmap_sem){++++}-{0:0}, at: copy_mm+0x298/0x1e30 kernel/fork.c:1749
 #1: ffff888021493120 (&mm->mmap_lock){++++}-{3:3}, at: mmap_write_lock_killable include/linux/mmap_lock.h:124 [inline]
 #1: ffff888021493120 (&mm->mmap_lock){++++}-{3:3}, at: dup_mmap kernel/fork.c:659 [inline]
 #1: ffff888021493120 (&mm->mmap_lock){++++}-{3:3}, at: dup_mm kernel/fork.c:1700 [inline]
 #1: ffff888021493120 (&mm->mmap_lock){++++}-{3:3}, at: copy_mm+0x2b6/0x1e30 kernel/fork.c:1749
 #2: ffff88801bef81a0 (&mm->mmap_lock/1){+.+.}-{3:3}, at: mmap_write_lock_nested include/linux/mmap_lock.h:115 [inline]
 #2: ffff88801bef81a0 (&mm->mmap_lock/1){+.+.}-{3:3}, at: dup_mmap kernel/fork.c:668 [inline]
 #2: ffff88801bef81a0 (&mm->mmap_lock/1){+.+.}-{3:3}, at: dup_mm kernel/fork.c:1700 [inline]
 #2: ffff88801bef81a0 (&mm->mmap_lock/1){+.+.}-{3:3}, at: copy_mm+0x3ed/0x1e30 kernel/fork.c:1749
 #3: ffffffff8d1320e0 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire include/linux/rcupdate.h:334 [inline]
 #3: ffffffff8d1320e0 (rcu_read_lock){....}-{1:2}, at: rcu_read_lock include/linux/rcupdate.h:786 [inline]
 #3: ffffffff8d1320e0 (rcu_read_lock){....}-{1:2}, at: __pte_offset_map+0x2c/0x280 mm/pgtable-generic.c:287
 #4: ffff888024e1df18 (ptlock_ptr(ptdesc)#2){+.+.}-{2:2}, at: spin_lock include/linux/spinlock.h:351 [inline]
 #4: ffff888024e1df18 (ptlock_ptr(ptdesc)#2){+.+.}-{2:2}, at: __pte_offset_map_lock+0x106/0x1d0 mm/pgtable-generic.c:375
 #5: ffffffff8d1320e0 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire include/linux/rcupdate.h:334 [inline]
 #5: ffffffff8d1320e0 (rcu_read_lock){....}-{1:2}, at: rcu_read_lock include/linux/rcupdate.h:786 [inline]
 #5: ffffffff8d1320e0 (rcu_read_lock){....}-{1:2}, at: __pte_offset_map+0x2c/0x280 mm/pgtable-generic.c:287
 #6: ffff888063dae498 (ptlock_ptr(ptdesc)#2/1){+.+.}-{2:2}, at: copy_pte_range mm/memory.c:1040 [inline]
 #6: ffff888063dae498 (ptlock_ptr(ptdesc)#2/1){+.+.}-{2:2}, at: copy_pmd_range mm/memory.c:1168 [inline]
 #6: ffff888063dae498 (ptlock_ptr(ptdesc)#2/1){+.+.}-{2:2}, at: copy_pud_range mm/memory.c:1205 [inline]
 #6: ffff888063dae498 (ptlock_ptr(ptdesc)#2/1){+.+.}-{2:2}, at: copy_p4d_range mm/memory.c:1229 [inline]
 #6: ffff888063dae498 (ptlock_ptr(ptdesc)#2/1){+.+.}-{2:2}, at: copy_page_range+0xfbc/0x3700 mm/memory.c:1323
 #7: ffffffff8d1321a0 (rcu_read_lock_sched){....}-{1:2}, at: rcu_lock_acquire include/linux/rcupdate.h:334 [inline]
 #7: ffffffff8d1321a0 (rcu_read_lock_sched){....}-{1:2}, at: rcu_read_lock_sched include/linux/rcupdate.h:878 [inline]
 #7: ffffffff8d1321a0 (rcu_read_lock_sched){....}-{1:2}, at: pfn_valid+0xcd/0x420 include/linux/mmzone.h:2011
 #8: ffffc900001f0be0 ((&vub300->inactivity_timer)){+.-.}-{0:0}, at: call_timer_fn+0xd2/0x540 kernel/time/timer.c:1698

stack backtrace:
CPU: 1 PID: 5776 Comm: syz-executor Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026
Call Trace:
 <IRQ>
 dump_stack_lvl+0x18c/0x250 lib/dump_stack.c:106
 lockdep_rcu_suspicious+0x1e1/0x300 kernel/locking/lockdep.c:6731
 __might_resched+0x123/0x5f0 kernel/sched/core.c:10174
 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
 </IRQ>
 <TASK>
 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: 0018:ffffc900043bf3a0 EFLAGS: 00000206
RAX: 0000000000000001 RBX: 0000000000000000 RCX: 33339fb8212b6300
RDX: 0000000000000000 RSI: ffffffff8acade60 RDI: ffffffff8b1d35e0
RBP: ffffc900043bf4a8 R08: dffffc0000000000 R09: 1ffffffff223dea0
R10: dffffc0000000000 R11: fffffbfff223dea1 R12: 1ffff92000877e80
R13: ffffffff8d1321a0 R14: 0000000000000246 R15: dffffc0000000000
 rcu_lock_acquire include/linux/rcupdate.h:334 [inline]
 rcu_read_lock_sched include/linux/rcupdate.h:878 [inline]
 pfn_valid+0xe9/0x420 include/linux/mmzone.h:2011
 page_table_check_set+0x25/0x6e0 mm/page_table_check.c:110
 page_table_check_ptes_set include/linux/page_table_check.h:74 [inline]
 set_ptes include/linux/pgtable.h:238 [inline]
 copy_present_pte mm/memory.c:979 [inline]
 copy_pte_range mm/memory.c:1083 [inline]
 copy_pmd_range mm/memory.c:1168 [inline]
 copy_pud_range mm/memory.c:1205 [inline]
 copy_p4d_range mm/memory.c:1229 [inline]
 copy_page_range+0x24fc/0x3700 mm/memory.c:1323
 dup_mmap kernel/fork.c:769 [inline]
 dup_mm kernel/fork.c:1700 [inline]
 copy_mm+0x1751/0x1e30 kernel/fork.c:1749
 copy_process+0x16c9/0x3da0 kernel/fork.c:2510
 kernel_clone+0x24b/0x8a0 kernel/fork.c:2919
 __do_sys_clone kernel/fork.c:3062 [inline]
 __se_sys_clone kernel/fork.c:3046 [inline]
 __x64_sys_clone+0x1b7/0x230 kernel/fork.c:3046
 do_syscall_x64 arch/x86/entry/common.c:46 [inline]
 do_syscall_64+0x55/0xb0 arch/x86/entry/common.c:76
 entry_SYSCALL_64_after_hwframe+0x68/0xd2
RIP: 0033:0x7f0b675c6bd2
Code: 89 e7 e8 71 8b f7 ff 45 31 c0 31 d2 31 f6 64 48 8b 04 25 10 00 00 00 bf 11 00 20 01 4c 8d 90 d0 02 00 00 b8 38 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 66 89 c5 85 c0 75 3b 64 48 8b 04 25 10 00 00
RSP: 002b:00007ffe5505f570 EFLAGS: 00000246 ORIG_RAX: 0000000000000038
RAX: ffffffffffffffda RBX: 00007ffe5505f570 RCX: 00007f0b675c6bd2
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000001200011
RBP: 00007ffe5505f6fc R08: 0000000000000000 R09: 0000000000000001
R10: 000055556fd847d0 R11: 0000000000000246 R12: 0000000000000001
R13: 00000000000927c0 R14: 000000000004e98b R15: 00007ffe5505f750
 </TASK>
BUG: sleeping function called from invalid context at kernel/workqueue.c:3414
in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 5776, name: syz-executor
preempt_count: 103, expected: 0
RCU nest depth: 2, expected: 0
9 locks held by syz-executor/5776:
 #0: ffffffff8d1d48b0 (dup_mmap_sem){++++}-{0:0}, at: dup_mmap kernel/fork.c:658 [inline]
 #0: ffffffff8d1d48b0 (dup_mmap_sem){++++}-{0:0}, at: dup_mm kernel/fork.c:1700 [inline]
 #0: ffffffff8d1d48b0 (dup_mmap_sem){++++}-{0:0}, at: copy_mm+0x298/0x1e30 kernel/fork.c:1749
 #1: ffff888021493120 (&mm->mmap_lock){++++}-{3:3}, at: mmap_write_lock_killable include/linux/mmap_lock.h:124 [inline]
 #1: ffff888021493120 (&mm->mmap_lock){++++}-{3:3}, at: dup_mmap kernel/fork.c:659 [inline]
 #1: ffff888021493120 (&mm->mmap_lock){++++}-{3:3}, at: dup_mm kernel/fork.c:1700 [inline]
 #1: ffff888021493120 (&mm->mmap_lock){++++}-{3:3}, at: copy_mm+0x2b6/0x1e30 kernel/fork.c:1749
 #2: ffff88801bef81a0 (&mm->mmap_lock/1){+.+.}-{3:3}, at: mmap_write_lock_nested include/linux/mmap_lock.h:115 [inline]
 #2: ffff88801bef81a0 (&mm->mmap_lock/1){+.+.}-{3:3}, at: dup_mmap kernel/fork.c:668 [inline]
 #2: ffff88801bef81a0 (&mm->mmap_lock/1){+.+.}-{3:3}, at: dup_mm kernel/fork.c:1700 [inline]
 #2: ffff88801bef81a0 (&mm->mmap_lock/1){+.+.}-{3:3}, at: copy_mm+0x3ed/0x1e30 kernel/fork.c:1749
 #3: ffffffff8d1320e0 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire include/linux/rcupdate.h:334 [inline]
 #3: ffffffff8d1320e0 (rcu_read_lock){....}-{1:2}, at: rcu_read_lock include/linux/rcupdate.h:786 [inline]
 #3: ffffffff8d1320e0 (rcu_read_lock){....}-{1:2}, at: __pte_offset_map+0x2c/0x280 mm/pgtable-generic.c:287
 #4: ffff888024e1df18 (ptlock_ptr(ptdesc)#2){+.+.}-{2:2}, at: spin_lock include/linux/spinlock.h:351 [inline]
 #4: ffff888024e1df18 (ptlock_ptr(ptdesc)#2){+.+.}-{2:2}, at: __pte_offset_map_lock+0x106/0x1d0 mm/pgtable-generic.c:375
 #5: ffffffff8d1320e0 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire include/linux/rcupdate.h:334 [inline]
 #5: ffffffff8d1320e0 (rcu_read_lock){....}-{1:2}, at: rcu_read_lock include/linux/rcupdate.h:786 [inline]
 #5: ffffffff8d1320e0 (rcu_read_lock){....}-{1:2}, at: __pte_offset_map+0x2c/0x280 mm/pgtable-generic.c:287
 #6: ffff888063dae498 (ptlock_ptr(ptdesc)#2/1){+.+.}-{2:2}, at: copy_pte_range mm/memory.c:1040 [inline]
 #6: ffff888063dae498 (ptlock_ptr(ptdesc)#2/1){+.+.}-{2:2}, at: copy_pmd_range mm/memory.c:1168 [inline]
 #6: ffff888063dae498 (ptlock_ptr(ptdesc)#2/1){+.+.}-{2:2}, at: copy_pud_range mm/memory.c:1205 [inline]
 #6: ffff888063dae498 (ptlock_ptr(ptdesc)#2/1){+.+.}-{2:2}, at: copy_p4d_range mm/memory.c:1229 [inline]
 #6: ffff888063dae498 (ptlock_ptr(ptdesc)#2/1){+.+.}-{2:2}, at: copy_page_range+0xfbc/0x3700 mm/memory.c:1323
 #7: ffffffff8d1321a0 (rcu_read_lock_sched){....}-{1:2}, at: rcu_lock_acquire include/linux/rcupdate.h:334 [inline]
 #7: ffffffff8d1321a0 (rcu_read_lock_sched){....}-{1:2}, at: rcu_read_lock_sched include/linux/rcupdate.h:878 [inline]
 #7: ffffffff8d1321a0 (rcu_read_lock_sched){....}-{1:2}, at: pfn_valid+0xcd/0x420 include/linux/mmzone.h:2011
 #8: ffffc900001f0be0 ((&vub300->inactivity_timer)){+.-.}-{0:0}, at: call_timer_fn+0xd2/0x540 kernel/time/timer.c:1698
Preemption disabled at:
[<0000000000000000>] 0x0
CPU: 1 PID: 5776 Comm: syz-executor Not tainted syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026
Call Trace:
 <IRQ>
 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
 </IRQ>
 <TASK>
 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: 0018:ffffc900043bf3a0 EFLAGS: 00000206
RAX: 0000000000000001 RBX: 0000000000000000 RCX: 33339fb8212b6300
RDX: 0000000000000000 RSI: ffffffff8acade60 RDI: ffffffff8b1d35e0
RBP: ffffc900043bf4a8 R08: dffffc0000000000 R09: 1ffffffff223dea0
R10: dffffc0000000000 R11: fffffbfff223dea1 R12: 1ffff92000877e80
R13: ffffffff8d1321a0 R14: 0000000000000246 R15: dffffc0000000000
 rcu_lock_acquire include/linux/rcupdate.h:334 [inline]
 rcu_read_lock_sched include/linux/rcupdate.h:878 [inline]
 pfn_valid+0xe9/0x420 include/linux/mmzone.h:2011
 page_table_check_set+0x25/0x6e0 mm/page_table_check.c:110
 page_table_check_ptes_set include/linux/page_table_check.h:74 [inline]
 set_ptes include/linux/pgtable.h:238 [inline]
 copy_present_pte mm/memory.c:979 [inline]
 copy_pte_range mm/memory.c:1083 [inline]
 copy_pmd_range mm/memory.c:1168 [inline]
 copy_pud_range mm/memory.c:1205 [inline]
 copy_p4d_range mm/memory.c:1229 [inline]
 copy_page_range+0x24fc/0x3700 mm/memory.c:1323
 dup_mmap kernel/fork.c:769 [inline]
 dup_mm kernel/fork.c:1700 [inline]
 copy_mm+0x1751/0x1e30 kernel/fork.c:1749
 copy_process+0x16c9/0x3da0 kernel/fork.c:2510
 kernel_clone+0x24b/0x8a0 kernel/fork.c:2919
 __do_sys_clone kernel/fork.c:3062 [inline]
 __se_sys_clone kernel/fork.c:3046 [inline]
 __x64_sys_clone+0x1b7/0x230 kernel/fork.c:3046
 do_syscall_x64 arch/x86/entry/common.c:46 [inline]
 do_syscall_64+0x55/0xb0 arch/x86/entry/common.c:76
 entry_SYSCALL_64_after_hwframe+0x68/0xd2
RIP: 0033:0x7f0b675c6bd2
Code: 89 e7 e8 71 8b f7 ff 45 31 c0 31 d2 31 f6 64 48 8b 04 25 10 00 00 00 bf 11 00 20 01 4c 8d 90 d0 02 00 00 b8 38 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 66 89 c5 85 c0 75 3b 64 48 8b 04 25 10 00 00
RSP: 002b:00007ffe5505f570 EFLAGS: 00000246 ORIG_RAX: 0000000000000038
RAX: ffffffffffffffda RBX: 00007ffe5505f570 RCX: 00007f0b675c6bd2
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000001200011
RBP: 00007ffe5505f6fc R08: 0000000000000000 R09: 0000000000000001
R10: 000055556fd847d0 R11: 0000000000000246 R12: 0000000000000001
R13: 00000000000927c0 R14: 000000000004e98b R15: 00007ffe5505f750
 </TASK>

=============================
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
9 locks held by syz-executor/5776:
 #0: ffffffff8d1d48b0 (dup_mmap_sem){++++}-{0:0}, at: dup_mmap kernel/fork.c:658 [inline]
 #0: ffffffff8d1d48b0 (dup_mmap_sem){++++}-{0:0}, at: dup_mm kernel/fork.c:1700 [inline]
 #0: ffffffff8d1d48b0 (dup_mmap_sem){++++}-{0:0}, at: copy_mm+0x298/0x1e30 kernel/fork.c:1749
 #1: ffff888021493120 (&mm->mmap_lock){++++}-{3:3}, at: mmap_write_lock_killable include/linux/mmap_lock.h:124 [inline]
 #1: ffff888021493120 (&mm->mmap_lock){++++}-{3:3}, at: dup_mmap kernel/fork.c:659 [inline]
 #1: ffff888021493120 (&mm->mmap_lock){++++}-{3:3}, at: dup_mm kernel/fork.c:1700 [inline]
 #1: ffff888021493120 (&mm->mmap_lock){++++}-{3:3}, at: copy_mm+0x2b6/0x1e30 kernel/fork.c:1749
 #2: ffff88801bef81a0 (&mm->mmap_lock/1){+.+.}-{3:3}, at: mmap_write_lock_nested include/linux/mmap_lock.h:115 [inline]
 #2: ffff88801bef81a0 (&mm->mmap_lock/1){+.+.}-{3:3}, at: dup_mmap kernel/fork.c:668 [inline]
 #2: ffff88801bef81a0 (&mm->mmap_lock/1){+.+.}-{3:3}, at: dup_mm kernel/fork.c:1700 [inline]
 #2: ffff88801bef81a0 (&mm->mmap_lock/1){+.+.}-{3:3}, at: copy_mm+0x3ed/0x1e30 kernel/fork.c:1749
 #3: ffffffff8d1320e0 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire include/linux/rcupdate.h:334 [inline]
 #3: ffffffff8d1320e0 (rcu_read_lock){....}-{1:2}, at: rcu_read_lock include/linux/rcupdate.h:786 [inline]
 #3: ffffffff8d1320e0 (rcu_read_lock){....}-{1:2}, at: __pte_offset_map+0x2c/0x280 mm/pgtable-generic.c:287
 #4: ffff888024e1df18 (ptlock_ptr(ptdesc)#2){+.+.}-{2:2}, at: spin_lock include/linux/spinlock.h:351 [inline]
 #4: ffff888024e1df18 (ptlock_ptr(ptdesc)#2){+.+.}-{2:2}, at: __pte_offset_map_lock+0x106/0x1d0 mm/pgtable-generic.c:375
 #5: ffffffff8d1320e0 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire include/linux/rcupdate.h:334 [inline]
 #5: ffffffff8d1320e0 (rcu_read_lock){....}-{1:2}, at: rcu_read_lock include/linux/rcupdate.h:786 [inline]
 #5: ffffffff8d1320e0 (rcu_read_lock){....}-{1:2}, at: __pte_offset_map+0x2c/0x280 mm/pgtable-generic.c:287
 #6: ffff888063dae498 (ptlock_ptr(ptdesc)#2/1){+.+.}-{2:2}, at: copy_pte_range mm/memory.c:1040 [inline]
 #6: ffff888063dae498 (ptlock_ptr(ptdesc)#2/1){+.+.}-{2:2}, at: copy_pmd_range mm/memory.c:1168 [inline]
 #6: ffff888063dae498 (ptlock_ptr(ptdesc)#2/1){+.+.}-{2:2}, at: copy_pud_range mm/memory.c:1205 [inline]
 #6: ffff888063dae498 (ptlock_ptr(ptdesc)#2/1){+.+.}-{2:2}, at: copy_p4d_range mm/memory.c:1229 [inline]
 #6: ffff888063dae498 (ptlock_ptr(ptdesc)#2/1){+.+.}-{2:2}, at: copy_page_range+0xfbc/0x3700 mm/memory.c:1323
 #7: ffffffff8d1321a0 (rcu_read_lock_sched){....}-{1:2}, at: rcu_lock_acquire include/linux/rcupdate.h:334 [inline]
 #7: ffffffff8d1321a0 (rcu_read_lock_sched){....}-{1:2}, at: rcu_read_lock_sched include/linux/rcupdate.h:878 [inline]
 #7: ffffffff8d1321a0 (rcu_read_lock_sched){....}-{1:2}, at: pfn_valid+0xcd/0x420 include/linux/mmzone.h:2011
 #8: ffffc900001f0be0 ((&vub300->inactivity_timer)){+.-.}-{0:0}, at: call_timer_fn+0xd2/0x540 kernel/time/timer.c:1698

stack backtrace:
CPU: 1 PID: 5776 Comm: syz-executor Tainted: G        W          syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026
Call Trace:
 <IRQ>
 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
 </IRQ>
 <TASK>
 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: 0018:ffffc900043bf3a0 EFLAGS: 00000206
RAX: 0000000000000001 RBX: 0000000000000000 RCX: 33339fb8212b6300
RDX: 0000000000000000 RSI: ffffffff8acade60 RDI: ffffffff8b1d35e0
RBP: ffffc900043bf4a8 R08: dffffc0000000000 R09: 1ffffffff223dea0
R10: dffffc0000000000 R11: fffffbfff223dea1 R12: 1ffff92000877e80
R13: ffffffff8d1321a0 R14: 0000000000000246 R15: dffffc0000000000
 rcu_lock_acquire include/linux/rcupdate.h:334 [inline]
 rcu_read_lock_sched include/linux/rcupdate.h:878 [inline]
 pfn_valid+0xe9/0x420 include/linux/mmzone.h:2011
 page_table_check_set+0x25/0x6e0 mm/page_table_check.c:110
 page_table_check_ptes_set include/linux/page_table_check.h:74 [inline]
 set_ptes include/linux/pgtable.h:238 [inline]
 copy_present_pte mm/memory.c:979 [inline]
 copy_pte_range mm/memory.c:1083 [inline]
 copy_pmd_range mm/memory.c:1168 [inline]
 copy_pud_range mm/memory.c:1205 [inline]
 copy_p4d_range mm/memory.c:1229 [inline]
 copy_page_range+0x24fc/0x3700 mm/memory.c:1323
 dup_mmap kernel/fork.c:769 [inline]
 dup_mm kernel/fork.c:1700 [inline]
 copy_mm+0x1751/0x1e30 kernel/fork.c:1749
 copy_process+0x16c9/0x3da0 kernel/fork.c:2510
 kernel_clone+0x24b/0x8a0 kernel/fork.c:2919
 __do_sys_clone kernel/fork.c:3062 [inline]
 __se_sys_clone kernel/fork.c:3046 [inline]
 __x64_sys_clone+0x1b7/0x230 kernel/fork.c:3046
 do_syscall_x64 arch/x86/entry/common.c:46 [inline]
 do_syscall_64+0x55/0xb0 arch/x86/entry/common.c:76
 entry_SYSCALL_64_after_hwframe+0x68/0xd2
RIP: 0033:0x7f0b675c6bd2
Code: 89 e7 e8 71 8b f7 ff 45 31 c0 31 d2 31 f6 64 48 8b 04 25 10 00 00 00 bf 11 00 20 01 4c 8d 90 d0 02 00 00 b8 38 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 66 89 c5 85 c0 75 3b 64 48 8b 04 25 10 00 00
RSP: 002b:00007ffe5505f570 EFLAGS: 00000246 ORIG_RAX: 0000000000000038
RAX: ffffffffffffffda RBX: 00007ffe5505f570 RCX: 00007f0b675c6bd2
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000001200011
RBP: 00007ffe5505f6fc R08: 0000000000000000 R09: 0000000000000001
R10: 000055556fd847d0 R11: 0000000000000246 R12: 0000000000000001
R13: 00000000000927c0 R14: 000000000004e98b R15: 00007ffe5505f750
 </TASK>
BUG: sleeping function called from invalid context at kernel/rcu/srcutree.c:1381
in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 5776, name: syz-executor
preempt_count: 103, expected: 0
RCU nest depth: 2, expected: 0
9 locks held by syz-executor/5776:
 #0: ffffffff8d1d48b0 (dup_mmap_sem){++++}-{0:0}, at: dup_mmap kernel/fork.c:658 [inline]
 #0: ffffffff8d1d48b0 (dup_mmap_sem){++++}-{0:0}, at: dup_mm kernel/fork.c:1700 [inline]
 #0: ffffffff8d1d48b0 (dup_mmap_sem){++++}-{0:0}, at: copy_mm+0x298/0x1e30 kernel/fork.c:1749
 #1: ffff888021493120 (&mm->mmap_lock){++++}-{3:3}, at: mmap_write_lock_killable include/linux/mmap_lock.h:124 [inline]
 #1: ffff888021493120 (&mm->mmap_lock){++++}-{3:3}, at: dup_mmap kernel/fork.c:659 [inline]
 #1: ffff888021493120 (&mm->mmap_lock){++++}-{3:3}, at: dup_mm kernel/fork.c:1700 [inline]
 #1: ffff888021493120 (&mm->mmap_lock){++++}-{3:3}, at: copy_mm+0x2b6/0x1e30 kernel/fork.c:1749
 #2: ffff88801bef81a0 (&mm->mmap_lock/1){+.+.}-{3:3}, at: mmap_write_lock_nested include/linux/mmap_lock.h:115 [inline]
 #2: ffff88801bef81a0 (&mm->mmap_lock/1){+.+.}-{3:3}, at: dup_mmap kernel/fork.c:668 [inline]
 #2: ffff88801bef81a0 (&mm->mmap_lock/1){+.+.}-{3:3}, at: dup_mm kernel/fork.c:1700 [inline]
 #2: ffff88801bef81a0 (&mm->mmap_lock/1){+.+.}-{3:3}, at: copy_mm+0x3ed/0x1e30 kernel/fork.c:1749
 #3: ffffffff8d1320e0 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire include/linux/rcupdate.h:334 [inline]
 #3: ffffffff8d1320e0 (rcu_read_lock){....}-{1:2}, at: rcu_read_lock include/linux/rcupdate.h:786 [inline]
 #3: ffffffff8d1320e0 (rcu_read_lock){....}-{1:2}, at: __pte_offset_map+0x2c/0x280 mm/pgtable-generic.c:287
 #4: ffff888024e1df18 (ptlock_ptr(ptdesc)#2){+.+.}-{2:2}, at: spin_lock include/linux/spinlock.h:351 [inline]
 #4: ffff888024e1df18 (ptlock_ptr(ptdesc)#2){+.+.}-{2:2}, at: __pte_offset_map_lock+0x106/0x1d0 mm/pgtable-generic.c:375
 #5: ffffffff8d1320e0 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire include/linux/rcupdate.h:334 [inline]
 #5: ffffffff8d1320e0 (rcu_read_lock){....}-{1:2}, at: rcu_read_lock include/linux/rcupdate.h:786 [inline]
 #5: ffffffff8d1320e0 (rcu_read_lock){....}-{1:2}, at: __pte_offset_map+0x2c/0x280 mm/pgtable-generic.c:287
 #6: ffff888063dae498 (ptlock_ptr(ptdesc)#2/1){+.+.}-{2:2}, at: copy_pte_range mm/memory.c:1040 [inline]
 #6: ffff888063dae498 (ptlock_ptr(ptdesc)#2/1){+.+.}-{2:2}, at: copy_pmd_range mm/memory.c:1168 [inline]
 #6: ffff888063dae498 (ptlock_ptr(ptdesc)#2/1){+.+.}-{2:2}, at: copy_pud_range mm/memory.c:1205 [inline]
 #6: ffff888063dae498 (ptlock_ptr(ptdesc)#2/1){+.+.}-{2:2}, at: copy_p4d_range mm/memory.c:1229 [inline]
 #6: ffff888063dae498 (ptlock_ptr(ptdesc)#2/1){+.+.}-{2:2}, at: copy_page_range+0xfbc/0x3700 mm/memory.c:1323
 #7: ffffffff8d1321a0 (rcu_read_lock_sched){....}-{1:2}, at: rcu_lock_acquire include/linux/rcupdate.h:334 [inline]
 #7: ffffffff8d1321a0 (rcu_read_lock_sched){....}-{1:2}, at: rcu_read_lock_sched include/linux/rcupdate.h:878 [inline]
 #7: ffffffff8d1321a0 (rcu_read_lock_sched){....}-{1:2}, at: pfn_valid+0xcd/0x420 include/linux/mmzone.h:2011
 #8: ffffc900001f0be0 ((&vub300->inactivity_timer)){+.-.}-{0:0}, at: call_timer_fn+0xd2/0x540 kernel/time/timer.c:1698
Preemption disabled at:
[<0000000000000000>] 0x0
CPU: 1 PID: 5776 Comm: syz-executor Tainted: G        W          syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026
Call Trace:
 <IRQ>
 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
 </IRQ>
 <TASK>
 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: 0018:ffffc900043bf3a0 EFLAGS: 00000206
RAX: 0000000000000001 RBX: 0000000000000000 RCX: 33339fb8212b6300
RDX: 0000000000000000 RSI: ffffffff8acade60 RDI: ffffffff8b1d35e0
RBP: ffffc900043bf4a8 R08: dffffc0000000000 R09: 1ffffffff223dea0
R10: dffffc0000000000 R11: fffffbfff223dea1 R12: 1ffff92000877e80
R13: ffffffff8d1321a0 R14: 0000000000000246 R15: dffffc0000000000
 rcu_lock_acquire include/linux/rcupdate.h:334 [inline]
 rcu_read_lock_sched include/linux/rcupdate.h:878 [inline]
 pfn_valid+0xe9/0x420 include/linux/mmzone.h:2011
 page_table_check_set+0x25/0x6e0 mm/page_table_check.c:110
 page_table_check_ptes_set include/linux/page_table_check.h:74 [inline]
 set_ptes include/linux/pgtable.h:238 [inline]
 copy_present_pte mm/memory.c:979 [inline]
 copy_pte_range mm/memory.c:1083 [inline]
 copy_pmd_range mm/memory.c:1168 [inline]
 copy_pud_range mm/memory.c:1205 [inline]
 copy_p4d_range mm/memory.c:1229 [inline]
 copy_page_range+0x24fc/0x3700 mm/memory.c:1323
 dup_mmap kernel/fork.c:769 [inline]
 dup_mm kernel/fork.c:1700 [inline]
 copy_mm+0x1751/0x1e30 kernel/fork.c:1749
 copy_process+0x16c9/0x3da0 kernel/fork.c:2510
 kernel_clone+0x24b/0x8a0 kernel/fork.c:2919
 __do_sys_clone kernel/fork.c:3062 [inline]
 __se_sys_clone kernel/fork.c:3046 [inline]
 __x64_sys_clone+0x1b7/0x230 kernel/fork.c:3046
 do_syscall_x64 arch/x86/entry/common.c:46 [inline]
 do_syscall_64+0x55/0xb0 arch/x86/entry/common.c:76
 entry_SYSCALL_64_after_hwframe+0x68/0xd2
RIP: 0033:0x7f0b675c6bd2
Code: 89 e7 e8 71 8b f7 ff 45 31 c0 31 d2 31 f6 64 48 8b 04 25 10 00 00 00 bf 11 00 20 01 4c 8d 90 d0 02 00 00 b8 38 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 66 89 c5 85 c0 75 3b 64 48 8b 04 25 10 00 00
RSP: 002b:00007ffe5505f570 EFLAGS: 00000246 ORIG_RAX: 0000000000000038
RAX: ffffffffffffffda RBX: 00007ffe5505f570 RCX: 00007f0b675c6bd2
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000001200011
RBP: 00007ffe5505f6fc R08: 0000000000000000 R09: 0000000000000001
R10: 000055556fd847d0 R11: 0000000000000246 R12: 0000000000000001
R13: 00000000000927c0 R14: 000000000004e98b R15: 00007ffe5505f750
 </TASK>
ODEBUG: object ffffc900001f09c0 is NOT on stack ffffc900043b8000, 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

Crashes (2):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/09/03 07:18 linux-6.6.y 8b73de7da85f 6a988719 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan WARNING: suspicious RCU usage in mmc_free_host
2026/08/26 09:11 linux-6.6.y dc6160265ffc 6a91adb4 .config console log report info [disk image] [vmlinux] [kernel image] ci2-linux-6-6-kasan WARNING: suspicious RCU usage in mmc_free_host
* Struck through repros no longer work on HEAD.