aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/target/target_core_fabric_configfs.c
diff options
context:
space:
mode:
authorJoern Engel <joern@logfs.org>2014-09-02 17:49:57 -0400
committerNicholas Bellinger <nab@linux-iscsi.org>2014-09-17 14:34:50 -0700
commitda0abaee4793bac4047b3bdfd221fc54850bbf5f (patch)
treed4c02b4db2e7fcf8c3d162f4fefd4f5728a7db77 /drivers/target/target_core_fabric_configfs.c
parenttarget: Fix possible memory leak in aptpl_metadata parsing (diff)
downloadlinux-dev-da0abaee4793bac4047b3bdfd221fc54850bbf5f.tar.xz
linux-dev-da0abaee4793bac4047b3bdfd221fc54850bbf5f.zip
target: Fix memory leak on error in target_fabric_make_mappedlun
This patch fixes a memory leak on error in target_fabric_make_mappedlun(), where se_lun_acl memory does not get released on exit. Found by coverity. Signed-off-by: Joern Engel <joern@logfs.org> Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
Diffstat (limited to 'drivers/target/target_core_fabric_configfs.c')
-rw-r--r--drivers/target/target_core_fabric_configfs.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/target/target_core_fabric_configfs.c b/drivers/target/target_core_fabric_configfs.c
index 7228a18b12ad..0638a672d911 100644
--- a/drivers/target/target_core_fabric_configfs.c
+++ b/drivers/target/target_core_fabric_configfs.c
@@ -320,7 +320,7 @@ static struct config_group *target_fabric_make_mappedlun(
struct se_node_acl, acl_group);
struct se_portal_group *se_tpg = se_nacl->se_tpg;
struct target_fabric_configfs *tf = se_tpg->se_tpg_wwn->wwn_tf;
- struct se_lun_acl *lacl;
+ struct se_lun_acl *lacl = NULL;
struct config_item *acl_ci;
struct config_group *lacl_cg = NULL, *ml_stat_grp = NULL;
char *buf;
@@ -406,6 +406,7 @@ static struct config_group *target_fabric_make_mappedlun(
out:
if (lacl_cg)
kfree(lacl_cg->default_groups);
+ kfree(lacl);
kfree(buf);
return ERR_PTR(ret);
}