From: tangwenji <tang.we...@zte.com.cn>

[ Upstream commit 12d5a43b2dffb6cd28062b4e19024f7982393288 ]

tpg must free when call core_tpg_register() return fail

Signed-off-by: tangwenji <tang.we...@zte.com.cn>
Signed-off-by: Nicholas Bellinger <n...@linux-iscsi.org>
Signed-off-by: Sasha Levin <alexander.le...@verizon.com>
---
 drivers/target/iscsi/iscsi_target_configfs.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/target/iscsi/iscsi_target_configfs.c 
b/drivers/target/iscsi/iscsi_target_configfs.c
index bf8c6e446b68..c0bfd1624ebb 100644
--- a/drivers/target/iscsi/iscsi_target_configfs.c
+++ b/drivers/target/iscsi/iscsi_target_configfs.c
@@ -1458,7 +1458,7 @@ static struct se_portal_group *lio_target_tiqn_addtpg(
                        wwn, &tpg->tpg_se_tpg, tpg,
                        TRANSPORT_TPG_TYPE_NORMAL);
        if (ret < 0)
-               return NULL;
+               goto free_out;
 
        ret = iscsit_tpg_add_portal_group(tiqn, tpg);
        if (ret != 0)
@@ -1470,6 +1470,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;
 }
-- 
2.11.0

Reply via email to