syzbot
WARNING: refcount bug in vub300_inactivity_timer_expired
Status:
moderation: reported on 2026/09/24 04:50
Subsystems:
mmc
Labels:
prio:high
[Documentation on labels]
Reported-by: syzbot+cef9193dd55edb831438@syzkaller.appspotmail.com
First crash: 4d05h, last: 4d05h
Sample crash report:
------------[ cut here ]------------
refcount_t: underflow; use-after-free.
WARNING: lib/refcount.c:28 at refcount_warn_saturate+0xf4/0x130 lib/refcount.c:28, CPU#1: pr/ttyS0/16
Modules linked in:
CPU: 1 UID: 0 PID: 16 Comm: pr/ttyS0 Not tainted syzkaller #0 PREEMPT(full)
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/05/2026
RIP: 0010:refcount_warn_saturate+0xf4/0x130 lib/refcount.c:28
Code: fb e8 00 fe e1 fc 48 8d 3d e9 58 26 0c 67 48 0f b9 3a e8 ef fd e1 fc 5b 5d e9 63 30 e6 fb e8 e3 fd e1 fc 48 8d 3d dc 58 26 0c <67> 48 0f b9 3a e8 d2 fd e1 fc 5b 5d e9 46 30 e6 fb e8 c6 fd e1 fc
RSP: 0018:ffffc90000a18c18 EFLAGS: 00010246
RAX: 0000000000000000 RBX: ffff888034ec0910 RCX: 0000000000000101
RDX: ffff88801eea8000 RSI: ffffffff852a10ad RDI: ffffffff91506990
RBP: 0000000000000003 R08: 0000000000000005 R09: 0000000000000004
R10: 0000000000000003 R11: 0000000000000001 R12: ffff888034ec0910
R13: 0000000000000101 R14: 1ffff9200014318d R15: ffffffff88c96590
FS: 0000000000000000(0000) GS:ffff888123c53000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f22a19556c8 CR3: 000000007d431000 CR4: 0000000000350ef0
Call Trace:
<IRQ>
__refcount_sub_and_test include/linux/refcount.h:400 [inline]
__refcount_dec_and_test include/linux/refcount.h:432 [inline]
refcount_dec_and_test include/linux/refcount.h:450 [inline]
kref_put include/linux/kref.h:64 [inline]
vub300_inactivity_timer_expired drivers/mmc/host/vub300.c:747 [inline]
vub300_inactivity_timer_expired+0x446/0x550 drivers/mmc/host/vub300.c:742
call_timer_fn+0x198/0x5f0 kernel/time/timer.c:1748
expire_timers kernel/time/timer.c:1799 [inline]
__run_timers+0x757/0xb00 kernel/time/timer.c:2374
__run_timer_base kernel/time/timer.c:2386 [inline]
__run_timer_base kernel/time/timer.c:2378 [inline]
run_timer_base+0x114/0x190 kernel/time/timer.c:2395
run_timer_softirq+0x1a/0x50 kernel/time/timer.c:2405
handle_softirqs+0x1e6/0x9d0 kernel/softirq.c:645
__do_softirq kernel/softirq.c:679 [inline]
invoke_softirq kernel/softirq.c:519 [inline]
__irq_exit_rcu+0x16a/0x210 kernel/softirq.c:758
irq_exit_rcu+0x9/0x30 kernel/softirq.c:775
instr_sysvec_apic_timer_interrupt arch/x86/kernel/apic/apic.c:1062 [inline]
sysvec_apic_timer_interrupt+0xa3/0xc0 arch/x86/kernel/apic/apic.c:1062
</IRQ>
<TASK>
asm_sysvec_apic_timer_interrupt+0x1a/0x20 arch/x86/include/asm/idtentry.h:674
RIP: 0010:__raw_spin_unlock_irqrestore include/linux/spinlock_api_smp.h:211 [inline]
RIP: 0010:_raw_spin_unlock_irqrestore+0x31/0x80 kernel/locking/spinlock.c:221
Code: f5 53 48 8b 74 24 10 48 89 fb 48 83 c7 18 e8 b6 a9 13 f6 48 89 df e8 3e 00 14 f6 f7 c5 00 02 00 00 75 23 9c 58 f6 c4 02 75 37 <bf> 01 00 00 00 e8 95 f6 02 f6 65 48 83 3d 74 34 b9 08 00 74 16 5b
RSP: 0018:ffffc90000157ca8 EFLAGS: 00000246
RAX: 0000000000000006 RBX: ffffffff9bc643a0 RCX: 0000000000000000
RDX: 0000000000000001 RSI: ffffffff8e391f3b RDI: ffffffff8c623a80
RBP: 0000000000000246 R08: 0000000000000001 R09: 0000000000000000
R10: 0000000000000001 R11: 2073662d34545845 R12: 1ffff9200002af98
R13: ffffffff8fbdb740 R14: 0000000000000001 R15: 0000000000000001
nbcon_emit_one+0x15c/0x2b0 kernel/printk/nbcon.c:1165
nbcon_kthread_func+0x613/0x7d0 kernel/printk/nbcon.c:1271
kthread+0x373/0x450 kernel/kthread.c:436
ret_from_fork+0x730/0xd60 arch/x86/kernel/process.c:158
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245
</TASK>
----------------
Code disassembly (best guess):
0: fb sti
1: e8 00 fe e1 fc call 0xfce1fe06
6: 48 8d 3d e9 58 26 0c lea 0xc2658e9(%rip),%rdi # 0xc2658f6
d: 67 48 0f b9 3a ud1 (%edx),%rdi
12: e8 ef fd e1 fc call 0xfce1fe06
17: 5b pop %rbx
18: 5d pop %rbp
19: e9 63 30 e6 fb jmp 0xfbe63081
1e: e8 e3 fd e1 fc call 0xfce1fe06
23: 48 8d 3d dc 58 26 0c lea 0xc2658dc(%rip),%rdi # 0xc265906
* 2a: 67 48 0f b9 3a ud1 (%edx),%rdi <-- trapping instruction
2f: e8 d2 fd e1 fc call 0xfce1fe06
34: 5b pop %rbx
35: 5d pop %rbp
36: e9 46 30 e6 fb jmp 0xfbe63081
3b: e8 c6 fd e1 fc call 0xfce1fe06
* Struck through repros no longer work on HEAD.