]> www.infradead.org Git - nvme.git/commitdiff
nvmet-fc: put ref when assoc->del_work is already scheduled nvme-6.15-2025-04-10
authorDaniel Wagner <wagi@kernel.org>
Tue, 8 Apr 2025 15:29:10 +0000 (17:29 +0200)
committerChristoph Hellwig <hch@lst.de>
Wed, 9 Apr 2025 11:03:56 +0000 (13:03 +0200)
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>
drivers/nvme/target/fc.c

index 61e9eea3bee430bfdef541bfe0d1f2538a49d9eb..7b50130f10f6578e6e49fe8ea661de34dfbb3683 100644 (file)
@@ -1073,7 +1073,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 bool