[PATCH] nvmet-fc: Tear down the association when the admin queue allocation fails
Daniel Wagner
dwagner at suse.de
Mon Oct 26 03:52:27 PDT 2026
On Mon, Oct 26, 2026 at 06:44:56PM +0800, Guixin Liu wrote:
> When the initial admin queue allocation fails after a new association
> was created, nvmet_fc_ls_create_association() only drops the
> association reference, which frees the association. By then the
> association is already on the target port's assoc_list, though, and
> removal from that list only happens in nvmet_fc_delete_target_assoc(),
> which this error path never calls. The freed association stays on the
> list, where later lookups and the port teardown can access it, and the
> target port reference taken at allocation time leaks.
>
> A remote host can trigger this reliably with a Create Association LS
> requesting a queue too large to allocate.
>
> Schedule the regular association teardown instead of dropping the
> reference directly. The teardown removes the association from the
> list and releases the target port reference before the final reference
> drop frees it.
>
> Fixes: 0cab4404874f ("nvme-fc: fix a missing queue put in nvmet_fc_ls_create_association")
> Cc: stable at vger.kernel.org
> Signed-off-by: Guixin Liu <kanie at linux.alibaba.com>
Looks good to me.
Reviewed-by: Daniel Wagner <dwagner at suse.de>
More information about the Linux-nvme
mailing list