]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
scsi: fcoe: Memory leak fix in fcoe_sysfs_fcf_del()
authorJaved Hasan <jhasan@marvell.com>
Wed, 29 Jul 2020 08:18:24 +0000 (01:18 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 3 Sep 2020 09:26:47 +0000 (11:26 +0200)
[ Upstream commit e95b4789ff4380733006836d28e554dc296b2298 ]

In fcoe_sysfs_fcf_del(), we first deleted the fcf from the list and then
freed it if ctlr_dev was not NULL. This was causing a memory leak.

Free the fcf even if ctlr_dev is NULL.

Link: https://lore.kernel.org/r/20200729081824.30996-3-jhasan@marvell.com
Reviewed-by: Girish Basrur <gbasrur@marvell.com>
Reviewed-by: Santosh Vernekar <svernekar@marvell.com>
Reviewed-by: Saurav Kashyap <skashyap@marvell.com>
Reviewed-by: Shyam Sundar <ssundar@marvell.com>
Signed-off-by: Javed Hasan <jhasan@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/scsi/fcoe/fcoe_ctlr.c

index 1791a393795daffec93ae58aefb23ee3b9131527..07a0dadc75bf586a2f40335c03589694c1960f3b 100644 (file)
@@ -255,9 +255,9 @@ static void fcoe_sysfs_fcf_del(struct fcoe_fcf *new)
                WARN_ON(!fcf_dev);
                new->fcf_dev = NULL;
                fcoe_fcf_device_delete(fcf_dev);
-               kfree(new);
                mutex_unlock(&cdev->lock);
        }
+       kfree(new);
 }
 
 /**