[PATCH 8/8] nvmet-fc: put ref when assoc->del_work is already scheduled

Daniel Wagner posted 8 patches 8 months, 1 week ago
[PATCH 8/8] nvmet-fc: put ref when assoc->del_work is already scheduled
Posted by Daniel Wagner 8 months, 1 week ago
Do not leak the tgtport reference when the work is already scheduled.

Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Daniel Wagner <wagi@kernel.org>
---
 drivers/nvme/target/fc.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/nvme/target/fc.c b/drivers/nvme/target/fc.c
index 61e9eea3bee430bfdef541bfe0d1f2538a49d9eb..7b50130f10f6578e6e49fe8ea661de34dfbb3683 100644
--- a/drivers/nvme/target/fc.c
+++ b/drivers/nvme/target/fc.c
@@ -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

-- 
2.49.0