OSDN Git Service

iscsi-target: fix memory leak in lio_target_tiqn_addtpg()
authortangwenji <tang.wenji@zte.com.cn>
Fri, 15 Sep 2017 08:03:13 +0000 (16:03 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 20 Dec 2017 09:10:25 +0000 (10:10 +0100)
[ Upstream commit 12d5a43b2dffb6cd28062b4e19024f7982393288 ]

tpg must free when call core_tpg_register() return fail

Signed-off-by: tangwenji <tang.wenji@zte.com.cn>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/target/iscsi/iscsi_target_configfs.c

index 0dd4c45..0ebc481 100644 (file)
@@ -1123,7 +1123,7 @@ static struct se_portal_group *lio_target_tiqn_addtpg(
 
        ret = core_tpg_register(wwn, &tpg->tpg_se_tpg, SCSI_PROTOCOL_ISCSI);
        if (ret < 0)
-               return NULL;
+               goto free_out;
 
        ret = iscsit_tpg_add_portal_group(tiqn, tpg);
        if (ret != 0)
@@ -1135,6 +1135,7 @@ static struct se_portal_group *lio_target_tiqn_addtpg(
        return &tpg->tpg_se_tpg;
 out:
        core_tpg_deregister(&tpg->tpg_se_tpg);
+free_out:
        kfree(tpg);
        return NULL;
 }