]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
nvmet-fc: put ref when assoc->del_work is already scheduled
authorDaniel Wagner <wagi@kernel.org>
Tue, 8 Apr 2025 15:29:10 +0000 (17:29 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 2 May 2025 05:44:38 +0000 (07:44 +0200)
[ Upstream commit 70289ae5cac4d3a39575405aaf63330486cea030 ]

Do not leak the tgtport reference when the work is already scheduled.

Signed-off-by: Daniel Wagner <wagi@kernel.org>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/nvme/target/fc.c

index 9f6d91e79aac56c29f59a9f9e7492e096d4edadd..812d085d49c9933199a122ec167e5520a6b92cd2 100644 (file)
@@ -1091,7 +1091,8 @@ static void
 nvmet_fc_schedule_delete_assoc(struct nvmet_fc_tgt_assoc *assoc)
 {
        nvmet_fc_tgtport_get(assoc->tgtport);
-       queue_work(nvmet_wq, &assoc->del_work);
+       if (!queue_work(nvmet_wq, &assoc->del_work))
+               nvmet_fc_tgtport_put(assoc->tgtport);
 }
 
 static struct nvmet_fc_tgt_assoc *