]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
nvme: target: rdma: fix ndev refcount leak on queue connect
authorWentao Liang <vulab@iscas.ac.cn>
Wed, 27 May 2026 08:45:44 +0000 (08:45 +0000)
committerKeith Busch <kbusch@kernel.org>
Wed, 27 May 2026 15:40:35 +0000 (08:40 -0700)
commitbadc53620fe813b3a9f727ef9526f98567c2c898
treeb075cc7af59fbadfe470b6de9fe45c821cbd44ca
parent001e57554de81aa79c25c18fd53911d8a415c304
nvme: target: rdma: fix ndev refcount leak on queue connect

nvmet_rdma_queue_connect() calls nvmet_rdma_find_get_device() which
acquires a reference on the returned ndev via kref_get(). On the path
where the host queue backlog is exceeded and the function returns
NVME_SC_CONNECT_CTRL_BUSY, reference of ndev is not released, leaking
the kref.

Fix this by adding a goto to the existing put_device label before the
early return.

Fixes: 31deaeb11ba7 ("nvmet-rdma: avoid circular locking dependency on install_queue()")
Cc: stable@vger.kernel.org
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Wentao Liang <vulab@iscas.ac.cn>
Signed-off-by: Keith Busch <kbusch@kernel.org>
drivers/nvme/target/rdma.c