WARNING: bad unlock balance in nvme_update_ns_info

Status: upstream: reported on 2026/09/19 00:10
Subsystems: nvme
Labels: prio:high
[Documentation on labels]
Reported-by: syzbot+64bc2169c92ee55ad31f@syzkaller.appspotmail.com
First crash: 50d, last: 19d
▶ ▼ ✨ AI Jobs (2)
ID Workflow Result Correct Bug Created Started Finished Revision
db14de09 repro-c Reproduced: ✅ ❓ WARNING: bad unlock balance in nvme_update_ns_info 2026/09/23 17:27 2026/09/23 17:27 2026/09/23 18:42 0a1606bc
464dc19f assessment-security DenialOfService: ❌ Exploitable: ❌ FilesystemTrigger: ❌ NetworkTrigger: ❌ PeripheralTrigger: ✅ RemoteTrigger: ❌ Unprivileged: ❌ UserNamespace: ❌ VMGuestTrigger: ❌ VMHostTrigger: ❌ ❓ WARNING: bad unlock balance in nvme_update_ns_info 2026/09/16 00:02 2026/09/16 00:02 2026/09/16 00:45 2daa4bb5
▶ ▼ Discussions (2)
Title Replies (including bot) Last reply
[syzbot] Monthly nvme report (Sep 2026) 1 (2) 2026/09/25 14:22
[syzbot] [nvme?] WARNING: bad unlock balance in nvme_update_ns_info 0 (1) 2026/09/19 00:10
▶ ▼ Last patch testing requests (1)
Created Duration User Patch Repo Result
2026/09/23 18:42 15m retest repro git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git fe2ec83746e501645709761605c2464a44fd2929 no crash job log log

Sample crash report:
=====================================
WARNING: bad unlock balance detected!
syzkaller #0 Tainted: G             L     
-------------------------------------
kworker/u8:7/158 is trying to release lock (&q->q_usage_counter(io)) at:
[<ffffffff86ab370b>] blk_mq_unfreeze_queue include/linux/blk-mq.h:962 [inline]
[<ffffffff86ab370b>] nvme_update_ns_info+0xa1b/0xe10 drivers/nvme/host/core.c:2622
but there are no more locks to release!

other info that might help us debug this:
locks held by kworker/u8:7/158: 2, last CPU#0:
 #0: ffff88801e2e7140 ((wq_completion)async){+.+.}-{0:0}, at: process_one_work+0x1466/0x1b10 kernel/workqueue.c:3371
 #1: ffffc90002e4fd08 ((work_completion)(&entry->work)){+.+.}-{0:0}, at: process_one_work+0xa2c/0x1b10 kernel/workqueue.c:3372

stack backtrace:
CPU: 0 UID: 0 PID: 158 Comm: kworker/u8:7 Tainted: G             L      syzkaller #0 PREEMPT(full) 
Tainted: [L]=SOFTLOCKUP
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/05/2026
Workqueue: async async_run_entry_fn
Call Trace:
 <TASK>
 __dump_stack lib/dump_stack.c:94 [inline]
 dump_stack_lvl+0x100/0x190 lib/dump_stack.c:120
 print_unlock_imbalance_bug.part.0+0xfb/0x106 kernel/locking/lockdep.c:5349
 print_unlock_imbalance_bug kernel/locking/lockdep.c:5329 [inline]
 __lock_release kernel/locking/lockdep.c:5590 [inline]
 lock_release kernel/locking/lockdep.c:5964 [inline]
 lock_release+0x295/0x310 kernel/locking/lockdep.c:5950
 blk_unfreeze_release_lock block/blk.h:774 [inline]
 blk_mq_unfreeze_queue_nomemrestore+0xd7/0x110 block/blk-mq.c:233
 blk_mq_unfreeze_queue include/linux/blk-mq.h:962 [inline]
 nvme_update_ns_info+0xa1b/0xe10 drivers/nvme/host/core.c:2622
 nvme_alloc_ns+0x1a8f/0x3e40 drivers/nvme/host/core.c:4311
 nvme_scan_ns+0x79d/0x910 drivers/nvme/host/core.c:4501
 async_run_entry_fn+0x9f/0x580 kernel/async.c:129
 process_one_work+0xac7/0x1b10 kernel/workqueue.c:3396
 process_scheduled_works kernel/workqueue.c:3479 [inline]
 worker_thread+0x5ef/0xe50 kernel/workqueue.c:3560
 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>

Crashes (2):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/10/15 13:02 upstream 0fcb05b72344 8fb0ae89 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-selinux-root WARNING: bad unlock balance in nvme_update_ns_info
2026/09/14 23:22 upstream 704340f1cd0d 924033e8 .config console log report info [disk image] [vmlinux] [kernel image] ci-upstream-kasan-gce-smack-root WARNING: bad unlock balance in nvme_update_ns_info
* Struck through repros no longer work on HEAD.