linux/arch/powerpc/platforms/powermac
Julia Lawall 0373721b19 powerpc/powermac/pfunc_core.c: Add of_node_put to avoid memory leak
Add a call to of_node_put in the error handling code following a call to
of_find_node_by_phandle.

The semantic match that finds this problem is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@r exists@
local idexpression x;
expression E,E1;
statement S;
@@

*x =
(of_find_node_by_path
|of_find_node_by_name
|of_find_node_by_phandle
|of_get_parent
|of_get_next_parent
|of_get_next_child
|of_find_compatible_node
|of_match_node
)(...);
...
if (x == NULL) S
<... when != x = E
*if (...) {
  ... when != of_node_put(x)
      when != if (...) { ... of_node_put(x); ... }
(
  return <+...x...+>;
|
*  return ...;
)
}
...>
of_node_put(x);
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2010-09-02 14:07:33 +10:00
..
Kconfig powerpc/kconfig: Kill PPC_MULTIPLATFORM 2009-03-11 17:11:35 +11:00
Makefile ftrace: rename FTRACE to FUNCTION_TRACER 2008-10-20 18:27:03 +02:00
backlight.c [POWERPC] Remove old interface find_devices 2007-04-24 22:09:02 +10:00
bootx_init.c powerpc: Remove trailing space in messages 2010-02-09 13:56:23 +11:00
cache.S Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
cpufreq_32.c powerpc: Clean up obsolete code relating to decrementer and timebase 2010-07-09 11:26:16 +10:00
cpufreq_64.c powerpc/cpumask: Use cpu_online_mask 2010-05-06 17:16:12 +10:00
feature.c powerpc/powermac: Drop unnecessary null test 2010-08-24 15:26:28 +10:00
low_i2c.c powerpc: Use IRQF_NO_SUSPEND not IRQF_TIMER for non-timer interrupts 2010-07-29 13:24:57 +02:00
nvram.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
pci.c powerpc/powermac: Drop unnecessary of_node_put 2010-08-24 15:26:28 +10:00
pfunc_base.c powerpc: Convert feature_lock to raw_spinlock 2010-02-19 14:52:32 +11:00
pfunc_core.c powerpc/powermac/pfunc_core.c: Add of_node_put to avoid memory leak 2010-09-02 14:07:33 +10:00
pic.c of/powerpc: Move Powermac irq quirk code into powermac pic driver code 2010-07-05 16:14:25 -06:00
pic.h powerpc/irq: Convert obsolete hw_interrupt_type to struct irq_chip 2009-03-11 17:11:34 +11:00
pmac.h powerpc: Use common cpu_die (fixes SMP+SUSPEND build) 2010-05-21 17:31:08 +10:00
setup.c lmb: rename to memblock 2010-07-14 17:14:00 +10:00
sleep.S powerpc/mm: Introduce MMU features 2008-12-21 14:21:16 +11:00
smp.c powerpc: Use common cpu_die (fixes SMP+SUSPEND build) 2010-05-21 17:31:08 +10:00
time.c of: add 'of_' prefix to machine_is_compatible() 2010-02-09 08:33:00 -07:00
udbg_adb.c [POWERPC] Fix section mismatches in udbg_adb.c 2007-08-17 11:02:06 +10:00
udbg_scc.c of: add 'of_' prefix to machine_is_compatible() 2010-02-09 08:33:00 -07:00