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
✨ AI Jobs (1)
ID Workflow Result Correct Bug Created Started Finished Revision
7750a4c2 assessment-security DenialOfService: ✅ Exploitable: ✅ FilesystemTrigger: ❌ NetworkTrigger: ❌ PeripheralTrigger: ✅ RemoteTrigger: ❌ Unprivileged: ❌ UserNamespace: ❌ VMGuestTrigger: ❌ VMHostTrigger: ❌ WARNING: refcount bug in vub300_inactivity_timer_expired 2026/09/22 01:14 2026/09/22 01:14 2026/09/22 02:08 853b104b

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

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/09/20 04:42 upstream 40288c9206c1 853b104b .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-badwrites-root WARNING: refcount bug in vub300_inactivity_timer_expired
* Struck through repros no longer work on HEAD.