2014-07-16 21:00:05

by Himangi Saraogi

[permalink] [raw]
Subject: [PATCH] target/configfs: Remove unnecessary null test

This patch removes the null test on lun_cg. lun_cg is initialized
at the beginning of the function to &lun->lun_group. Since lun_cg is
dereferenced prior to the null test, it must be a valid pointer.

The following Coccinelle script is used for detecting the change:

@r@
expression e,f;
identifier g,y;
statement S1,S2;
@@

*e = &f->g
<+...
f->y
...+>
*if (e != NULL || ...)
S1 else S2

Signed-off-by: Himangi Saraogi <[email protected]>
Acked-by: Julia Lawall <[email protected]>
---
drivers/target/target_core_fabric_configfs.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/target/target_core_fabric_configfs.c b/drivers/target/target_core_fabric_configfs.c
index 7de9f04..7228a18 100644
--- a/drivers/target/target_core_fabric_configfs.c
+++ b/drivers/target/target_core_fabric_configfs.c
@@ -917,8 +917,7 @@ static struct config_group *target_fabric_make_lun(

return &lun->lun_group;
out:
- if (lun_cg)
- kfree(lun_cg->default_groups);
+ kfree(lun_cg->default_groups);
return ERR_PTR(errno);
}

--
1.9.1


2014-07-30 01:23:27

by Nicholas A. Bellinger

[permalink] [raw]
Subject: Re: [PATCH] target/configfs: Remove unnecessary null test

Hi Himangi,

On Thu, 2014-07-17 at 02:29 +0530, Himangi Saraogi wrote:
> This patch removes the null test on lun_cg. lun_cg is initialized
> at the beginning of the function to &lun->lun_group. Since lun_cg is
> dereferenced prior to the null test, it must be a valid pointer.
>
> The following Coccinelle script is used for detecting the change:
>
> @r@
> expression e,f;
> identifier g,y;
> statement S1,S2;
> @@
>
> *e = &f->g
> <+...
> f->y
> ...+>
> *if (e != NULL || ...)
> S1 else S2
>
> Signed-off-by: Himangi Saraogi <[email protected]>
> Acked-by: Julia Lawall <[email protected]>
> ---
> drivers/target/target_core_fabric_configfs.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/target/target_core_fabric_configfs.c b/drivers/target/target_core_fabric_configfs.c
> index 7de9f04..7228a18 100644
> --- a/drivers/target/target_core_fabric_configfs.c
> +++ b/drivers/target/target_core_fabric_configfs.c
> @@ -917,8 +917,7 @@ static struct config_group *target_fabric_make_lun(
>
> return &lun->lun_group;
> out:
> - if (lun_cg)
> - kfree(lun_cg->default_groups);
> + kfree(lun_cg->default_groups);
> return ERR_PTR(errno);
> }
>

Thanks, applied to target-pending/for-next.

--nab