On Wed, 17 September 2014 14:32:13 -0700, Nicholas A. Bellinger wrote: > On Tue, 2014-09-02 at 17:49 -0400, Joern Engel wrote: > > Found by coverity. > > > > Signed-off-by: Joern Engel <joern@xxxxxxxxx> > > --- > > drivers/target/target_core_fabric_configfs.c | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/target/target_core_fabric_configfs.c b/drivers/target/target_core_fabric_configfs.c > > index 7de9f0475d05..376d1dfb2fdf 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; > > @@ -404,6 +404,7 @@ static struct config_group *target_fabric_make_mappedlun( > > kfree(buf); > > return &lacl->se_lun_group; > > out: > > + kfree(lacl); > > if (lacl_cg) > > kfree(lacl_cg->default_groups); > > kfree(buf); > > This is not right, due to lacl_cg memory reference after first releasing > lacl. > > Just to be safe, fixing up the ordering and squashing into the original > below. Indeed! Thanks for catching it! > diff --git a/drivers/target/target_core_fabric_configfs.c b/drivers/target/target_core_fabric > index 7228a18..0638a67 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); > > Jörn -- Data expands to fill the space available for storage. -- Parkinson's Law -- To unsubscribe from this list: send the line "unsubscribe target-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html