All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@lst.de>
To: Ming Lei <ming.lei@redhat.com>
Cc: Christoph Hellwig <hch@lst.de>, Keith Busch <kbusch@kernel.org>,
	linux-nvme@lists.infradead.org, Yi Zhang <yi.zhang@redhat.com>
Subject: Re: [PATCH] nvme: fix admin queue leak on controller reset
Date: Mon, 2 Feb 2026 07:58:02 +0100	[thread overview]
Message-ID: <20260202065802.GA930@lst.de> (raw)
In-Reply-To: <20260131144808.4173338-1-ming.lei@redhat.com>

On Sat, Jan 31, 2026 at 10:48:08PM +0800, Ming Lei wrote:
> 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@kernel.org>
> Fixes: 03b3bcd319b3 ("nvme: fix admin request_queue lifetime").
> Reported-and-tested-by: Yi Zhang <yi.zhang@redhat.com>
> Closes: https://lore.kernel.org/linux-block/CAHj4cs9wv3SdPo+N01Fw2SHBYDs9tj2M_e1-GdQOkRy=DsBB1w@mail.gmail.com/
> Signed-off-by: Ming Lei <ming.lei@redhat.com>
> ---
>  drivers/nvme/host/core.c | 9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
> index 19b67cf5d550..4f1f460a6c11 100644
> --- a/drivers/nvme/host/core.c
> +++ b/drivers/nvme/host/core.c
> @@ -4865,6 +4865,15 @@ int nvme_alloc_admin_tag_set(struct nvme_ctrl *ctrl, struct blk_mq_tag_set *set,
>  	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 = NULL;
> +	}
> +
>  	ctrl->admin_q = blk_mq_alloc_queue(set, &lim, NULL);

Clearing the admin_q to zero above is pointless given that it instantly
gets overriden here.  Otherwise this looks good.



  reply	other threads:[~2026-02-02  6:58 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-01-31 14:48 [PATCH] nvme: fix admin queue leak on controller reset Ming Lei
2026-02-02  6:58 ` Christoph Hellwig [this message]
2026-02-02 16:09 ` Keith Busch

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260202065802.GA930@lst.de \
    --to=hch@lst.de \
    --cc=kbusch@kernel.org \
    --cc=linux-nvme@lists.infradead.org \
    --cc=ming.lei@redhat.com \
    --cc=yi.zhang@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.