original_kernel/arch/blackfin/mach-common
Julia Lawall 994e9a2e01 arch/blackfin: Add kmalloc NULL tests
Check that the result of kmalloc is not NULL before passing it to other
functions.

In the first two cases, the new code returns -ENOMEM, which seems
compatible with what is done for similar functions for other architectures.

In the last two cases, the new code fails silently, ie just returns,
because the function has void return type.

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>
Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-07-16 01:52:54 -04:00
..
Makefile Blackfin: only build irqpanic.c when needed 2009-06-18 21:40:49 -04:00
arch_checks.c Blackfin: decouple unrelated cache settings to get exact behavior 2009-06-22 21:15:59 -04:00
cache-c.c
cache.S
clocks-init.c
cpufreq.c Blackfin: decouple unrelated cache settings to get exact behavior 2009-06-22 21:15:59 -04:00
dpmc.c
dpmc_modes.S
entry.S Blackfin: cleanup code a bit with comments and defines 2009-07-16 01:39:39 -04:00
head.S
interrupt.S
ints-priority.c Blackfin: allow CONFIG_TICKSOURCE_GPTMR0 with interrupt pipeline 2009-06-22 21:15:54 -04:00
irqpanic.c Blackfin: only build irqpanic.c when needed 2009-06-18 21:40:49 -04:00
lock.S
pm.c Blackfin: decouple unrelated cache settings to get exact behavior 2009-06-22 21:15:59 -04:00
smp.c arch/blackfin: Add kmalloc NULL tests 2009-07-16 01:52:54 -04:00