You need to sign in or sign up before continuing.
提交 a0884d48 编写于 作者: T tangwenji 提交者: Nicholas Bellinger

iscsi-target: fix memory leak in iscsit_release_discovery_tpg()

Need to release the param_list for tpg in iscsi_release_discovery_tpg
function, this is also required before the iscsit_load_discovery_tpg
function exits abnormally.
Signed-off-by: Ntangwenji <tang.wenji@zte.com.cn>
Signed-off-by: NNicholas Bellinger <nab@linux-iscsi.org>
上级 12d5a43b
...@@ -90,10 +90,10 @@ int iscsit_load_discovery_tpg(void) ...@@ -90,10 +90,10 @@ int iscsit_load_discovery_tpg(void)
*/ */
param = iscsi_find_param_from_key(AUTHMETHOD, tpg->param_list); param = iscsi_find_param_from_key(AUTHMETHOD, tpg->param_list);
if (!param) if (!param)
goto out; goto free_pl_out;
if (iscsi_update_param_value(param, "CHAP,None") < 0) if (iscsi_update_param_value(param, "CHAP,None") < 0)
goto out; goto free_pl_out;
tpg->tpg_attrib.authentication = 0; tpg->tpg_attrib.authentication = 0;
...@@ -105,6 +105,8 @@ int iscsit_load_discovery_tpg(void) ...@@ -105,6 +105,8 @@ int iscsit_load_discovery_tpg(void)
pr_debug("CORE[0] - Allocated Discovery TPG\n"); pr_debug("CORE[0] - Allocated Discovery TPG\n");
return 0; return 0;
free_pl_out:
iscsi_release_param_list(tpg->param_list);
out: out:
if (tpg->sid == 1) if (tpg->sid == 1)
core_tpg_deregister(&tpg->tpg_se_tpg); core_tpg_deregister(&tpg->tpg_se_tpg);
...@@ -119,6 +121,7 @@ void iscsit_release_discovery_tpg(void) ...@@ -119,6 +121,7 @@ void iscsit_release_discovery_tpg(void)
if (!tpg) if (!tpg)
return; return;
iscsi_release_param_list(tpg->param_list);
core_tpg_deregister(&tpg->tpg_se_tpg); core_tpg_deregister(&tpg->tpg_se_tpg);
kfree(tpg); kfree(tpg);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册