Patch "nvme: fix admin queue leak on controller reset" has been added to the 6.6-stable tree

gregkh at linuxfoundation.org gregkh at linuxfoundation.org
Tue Mar 31 04:30:22 PDT 2026


This is a note to let you know that I've just added the patch titled

    nvme: fix admin queue leak on controller reset

to the 6.6-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     nvme-fix-admin-queue-leak-on-controller-reset.patch
and it can be found in the queue-6.6 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable at vger.kernel.org> know about it.


>From stable+bounces-231348-greg=kroah.com at vger.kernel.org Tue Mar 31 09:44:05 2026
From: Li hongliang <1468888505 at 139.com>
Date: Tue, 31 Mar 2026 15:36:59 +0800
Subject: nvme: fix admin queue leak on controller reset
To: gregkh at linuxfoundation.org, stable at vger.kernel.org, ming.lei at redhat.com
Cc: patches at lists.linux.dev, linux-kernel at vger.kernel.org, yi.zhang at redhat.com, kbusch at kernel.org, axboe at fb.com, hch at lst.de, sagi at grimberg.me, hare at suse.de, kch at nvidia.com, linux-nvme at lists.infradead.org
Message-ID: <20260331073659.3136206-1-1468888505 at 139.com>

From: Ming Lei <ming.lei at redhat.com>

[ Upstream commit b84bb7bd913d8ca2f976ee6faf4a174f91c02b8d ]

When nvme_alloc_admin_tag_set() is called during a controller reset,
a previous admin queue may still exist. Release it properly before
allocating a new one to avoid orphaning the old queue.

This fixes a regression introduced by commit 03b3bcd319b3 ("nvme: fix
admin request_queue lifetime").

Cc: Keith Busch <kbusch at kernel.org>
Fixes: 03b3bcd319b3 ("nvme: fix admin request_queue lifetime").
Reported-and-tested-by: Yi Zhang <yi.zhang at redhat.com>
Closes: https://lore.kernel.org/linux-block/CAHj4cs9wv3SdPo+N01Fw2SHBYDs9tj2M_e1-GdQOkRy=DsBB1w@mail.gmail.com/
Signed-off-by: Ming Lei <ming.lei at redhat.com>
Signed-off-by: Keith Busch <kbusch at kernel.org>
Signed-off-by: Li hongliang <1468888505 at 139.com>
Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
---
 drivers/nvme/host/core.c |    7 +++++++
 1 file changed, 7 insertions(+)

--- a/drivers/nvme/host/core.c
+++ b/drivers/nvme/host/core.c
@@ -4287,6 +4287,13 @@ int nvme_alloc_admin_tag_set(struct nvme
 	if (ret)
 		return ret;
 
+	/*
+	 * If a previous admin queue exists (e.g., from before a reset),
+	 * put it now before allocating a new one to avoid orphaning it.
+	 */
+	if (ctrl->admin_q)
+		blk_put_queue(ctrl->admin_q);
+
 	ctrl->admin_q = blk_mq_init_queue(set);
 	if (IS_ERR(ctrl->admin_q)) {
 		ret = PTR_ERR(ctrl->admin_q);


Patches currently in stable-queue which might be from 1468888505 at 139.com are

queue-6.6/nvme-fix-admin-queue-leak-on-controller-reset.patch



More information about the Linux-nvme mailing list