diff mbox

[4/5] net/netlabel: Add kmalloc NULL tests

Message ID Pine.LNX.4.64.0907301610230.8734@ask.diku.dk
State Superseded, archived
Delegated to: David Miller
Headers show

Commit Message

Julia Lawall July 30, 2009, 2:10 p.m. UTC
From: Julia Lawall <julia@diku.dk>

The test on map4 should be a test on map6.

The semantic match that finds this problem is as follows:
(http://www.emn.fr/x-info/coccinelle/)

// <smpl>
@@
expression *x;
identifier f;
constant char *C;
@@

x = \(kmalloc\|kcalloc\|kzalloc\)(...);
... when != x == NULL
    when != x != NULL
    when != (x || ...)
(
kfree(x)
|
f(...,C,...,x,...)
|
*f(...,x,...)
|
*x->f
)
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>

---
 net/netlabel/netlabel_kapi.c        |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Paul Moore July 30, 2009, 2:32 p.m. UTC | #1
On Thursday 30 July 2009 10:10:54 am Julia Lawall wrote:
> From: Julia Lawall <julia@diku.dk>
>
> The test on map4 should be a test on map6.

...

> Signed-off-by: Julia Lawall <julia@diku.dk>
>
> ---
>  net/netlabel/netlabel_kapi.c        |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/net/netlabel/netlabel_kapi.c b/net/netlabel/netlabel_kapi.c
> index 3ff6f32..6ce0020 100644
> --- a/net/netlabel/netlabel_kapi.c
> +++ b/net/netlabel/netlabel_kapi.c
> @@ -151,7 +151,7 @@ int netlbl_cfg_unlbl_map_add(const char *domain,
>  			addr6 = addr;
>  			mask6 = mask;
>  			map6 = kzalloc(sizeof(*map6), GFP_ATOMIC);
> -			if (map4 == NULL)
> +			if (!map6)
>  				goto cfg_unlbl_map_add_failure;
>  			map6->type = NETLBL_NLTYPE_UNLABELED;
>  			ipv6_addr_copy(&map6->list.addr, addr6);

Another good find, although I would suggest changing it to the following to 
stay consistent with the rest of the function:

		map6 = kzalloc(...);
		if (map6 == NULL)
			goto ...;
Julia Lawall July 30, 2009, 2:36 p.m. UTC | #2
On Thu, 30 Jul 2009, Paul Moore wrote:

> On Thursday 30 July 2009 10:10:54 am Julia Lawall wrote:
> > From: Julia Lawall <julia@diku.dk>
> >
> > The test on map4 should be a test on map6.
> 
> ...
> 
> > Signed-off-by: Julia Lawall <julia@diku.dk>
> >
> > ---
> >  net/netlabel/netlabel_kapi.c        |    2 +-
> >  1 files changed, 1 insertions(+), 1 deletions(-)
> >
> > diff --git a/net/netlabel/netlabel_kapi.c b/net/netlabel/netlabel_kapi.c
> > index 3ff6f32..6ce0020 100644
> > --- a/net/netlabel/netlabel_kapi.c
> > +++ b/net/netlabel/netlabel_kapi.c
> > @@ -151,7 +151,7 @@ int netlbl_cfg_unlbl_map_add(const char *domain,
> >  			addr6 = addr;
> >  			mask6 = mask;
> >  			map6 = kzalloc(sizeof(*map6), GFP_ATOMIC);
> > -			if (map4 == NULL)
> > +			if (!map6)
> >  				goto cfg_unlbl_map_add_failure;
> >  			map6->type = NETLBL_NLTYPE_UNLABELED;
> >  			ipv6_addr_copy(&map6->list.addr, addr6);
> 
> Another good find, although I would suggest changing it to the following to 
> stay consistent with the rest of the function:
> 
> 		map6 = kzalloc(...);
> 		if (map6 == NULL)
> 			goto ...;

OK, I hesitated...  I'll send a new patch shortly.

julia
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Paul Moore July 30, 2009, 2:37 p.m. UTC | #3
On Thursday 30 July 2009 10:36:47 am Julia Lawall wrote:
> On Thu, 30 Jul 2009, Paul Moore wrote:
> > On Thursday 30 July 2009 10:10:54 am Julia Lawall wrote:
> > > From: Julia Lawall <julia@diku.dk>
> > >
> > > The test on map4 should be a test on map6.
> >
> > ...
> >
> > > Signed-off-by: Julia Lawall <julia@diku.dk>
> > >
> > > ---
> > >  net/netlabel/netlabel_kapi.c        |    2 +-
> > >  1 files changed, 1 insertions(+), 1 deletions(-)
> > >
> > > diff --git a/net/netlabel/netlabel_kapi.c
> > > b/net/netlabel/netlabel_kapi.c index 3ff6f32..6ce0020 100644
> > > --- a/net/netlabel/netlabel_kapi.c
> > > +++ b/net/netlabel/netlabel_kapi.c
> > > @@ -151,7 +151,7 @@ int netlbl_cfg_unlbl_map_add(const char *domain,
> > >  			addr6 = addr;
> > >  			mask6 = mask;
> > >  			map6 = kzalloc(sizeof(*map6), GFP_ATOMIC);
> > > -			if (map4 == NULL)
> > > +			if (!map6)
> > >  				goto cfg_unlbl_map_add_failure;
> > >  			map6->type = NETLBL_NLTYPE_UNLABELED;
> > >  			ipv6_addr_copy(&map6->list.addr, addr6);
> >
> > Another good find, although I would suggest changing it to the following
> > to stay consistent with the rest of the function:
> >
> > 		map6 = kzalloc(...);
> > 		if (map6 == NULL)
> > 			goto ...;
>
> OK, I hesitated...  I'll send a new patch shortly.

Great, thank you.
diff mbox

Patch

diff --git a/net/netlabel/netlabel_kapi.c b/net/netlabel/netlabel_kapi.c
index 3ff6f32..6ce0020 100644
--- a/net/netlabel/netlabel_kapi.c
+++ b/net/netlabel/netlabel_kapi.c
@@ -151,7 +151,7 @@  int netlbl_cfg_unlbl_map_add(const char *domain,
 			addr6 = addr;
 			mask6 = mask;
 			map6 = kzalloc(sizeof(*map6), GFP_ATOMIC);
-			if (map4 == NULL)
+			if (!map6)
 				goto cfg_unlbl_map_add_failure;
 			map6->type = NETLBL_NLTYPE_UNLABELED;
 			ipv6_addr_copy(&map6->list.addr, addr6);