arch/alpha/kernel: Add kmalloc NULL tests

Check that the result of kmalloc is not NULL before passing it to other
functions.

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>
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Cc: Richard Henderson <rth@twiddle.net>
Signed-off-by: Matt Turner <mattst88@gmail.com>
This commit is contained in:
Julia Lawall 2009-11-30 15:38:19 -05:00 committed by Matt Turner
parent 04d8a9db89
commit cc9a2c8301
2 changed files with 4 additions and 0 deletions

View file

@ -1103,6 +1103,8 @@ marvel_agp_info(void)
* Allocate the info structure. * Allocate the info structure.
*/ */
agp = kmalloc(sizeof(*agp), GFP_KERNEL); agp = kmalloc(sizeof(*agp), GFP_KERNEL);
if (!agp)
return NULL;
/* /*
* Fill it in. * Fill it in.

View file

@ -757,6 +757,8 @@ titan_agp_info(void)
* Allocate the info structure. * Allocate the info structure.
*/ */
agp = kmalloc(sizeof(*agp), GFP_KERNEL); agp = kmalloc(sizeof(*agp), GFP_KERNEL);
if (!agp)
return NULL;
/* /*
* Fill it in. * Fill it in.