diff options
| author | Julia Lawall <julia@diku.dk> | 2009-11-30 15:38:19 -0500 |
|---|---|---|
| committer | Matt Turner <mattst88@gmail.com> | 2009-11-30 15:38:19 -0500 |
| commit | cc9a2c8301683f73b7e0d1fc2cb5159110f3469f (patch) | |
| tree | d513b100f178a0a4bf804e002d89af98f9f689c8 | |
| parent | 04d8a9db89f00dee78d792d094dc573784ead643 (diff) | |
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>
| -rw-r--r-- | arch/alpha/kernel/core_marvel.c | 2 | ||||
| -rw-r--r-- | arch/alpha/kernel/core_titan.c | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/arch/alpha/kernel/core_marvel.c b/arch/alpha/kernel/core_marvel.c index 8e059e58b0ac..53dd2f1a53aa 100644 --- a/arch/alpha/kernel/core_marvel.c +++ b/arch/alpha/kernel/core_marvel.c | |||
| @@ -1103,6 +1103,8 @@ marvel_agp_info(void) | |||
| 1103 | * Allocate the info structure. | 1103 | * Allocate the info structure. |
| 1104 | */ | 1104 | */ |
| 1105 | agp = kmalloc(sizeof(*agp), GFP_KERNEL); | 1105 | agp = kmalloc(sizeof(*agp), GFP_KERNEL); |
| 1106 | if (!agp) | ||
| 1107 | return NULL; | ||
| 1106 | 1108 | ||
| 1107 | /* | 1109 | /* |
| 1108 | * Fill it in. | 1110 | * Fill it in. |
diff --git a/arch/alpha/kernel/core_titan.c b/arch/alpha/kernel/core_titan.c index 76686497b1e2..219bf271c0ba 100644 --- a/arch/alpha/kernel/core_titan.c +++ b/arch/alpha/kernel/core_titan.c | |||
| @@ -757,6 +757,8 @@ titan_agp_info(void) | |||
| 757 | * Allocate the info structure. | 757 | * Allocate the info structure. |
| 758 | */ | 758 | */ |
| 759 | agp = kmalloc(sizeof(*agp), GFP_KERNEL); | 759 | agp = kmalloc(sizeof(*agp), GFP_KERNEL); |
| 760 | if (!agp) | ||
| 761 | return NULL; | ||
| 760 | 762 | ||
| 761 | /* | 763 | /* |
| 762 | * Fill it in. | 764 | * Fill it in. |
