WSL2-Linux-Kernel/drivers/atm
Julia Lawall bc111d570b drivers/atm: introduce missing kfree
Error handling code following a kmalloc should free the allocated data.

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

// <smpl>
@r exists@
local idexpression x;
statement S;
expression E;
identifier f,l;
position p1,p2;
expression *ptr != NULL;
@@

(
if ((x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...)) == NULL) S
|
x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...);
...
if (x == NULL) S
)
<... when != x
     when != if (...) { <+...x...+> }
x->f = E
...>
(
 return \(0\|<+...x...+>\|ptr\);
|
 return@p2 ...;
)

@script:python@
p1 << r.p1;
p2 << r.p2;
@@

print "* file: %s kmalloc %s return %s" % (p1[0].file,p1[0].line,p2[0].line)
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-02-08 17:00:02 -08:00
..
.gitignore [ATM]: Ignore generated file pca200e_ecd.bin2 2006-12-11 14:34:35 -08:00
Kconfig atm: Driver for Solos PCI ADSL2+ card. 2008-12-26 01:26:11 -08:00
Makefile atm: Driver for Solos PCI ADSL2+ card. 2008-12-26 01:26:11 -08:00
adummy.c removed unused #include <linux/version.h>'s 2008-08-23 12:14:12 -07:00
ambassador.c firmware: convert Ambassador ATM driver to request_firmware() 2008-07-10 14:49:39 +01:00
ambassador.h firmware: convert Ambassador ATM driver to request_firmware() 2008-07-10 14:49:39 +01:00
atmtcp.c [NET]: SPIN_LOCK_UNLOCKED cleanup in drivers/atm, net 2007-04-26 01:37:44 -07:00
eni.c drivers/atm: Use DIV_ROUND_UP 2008-09-22 19:22:58 -07:00
eni.h drivers/atm/eni.h: remove unused macro KERNEL_OFFSET 2008-06-10 12:46:52 -07:00
firestream.c [ATM] firestream: Fix uninitialized var warning. 2008-03-28 16:19:26 -07:00
firestream.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
fore200e.c sparc: Annotate of_device_id arrays with const or __initdata. 2008-08-31 01:23:17 -07:00
fore200e.h fore200e: Convert over to pure OF driver. 2008-08-29 02:14:59 -07:00
he.c atm: [he] remove #ifdef clutter 2008-06-17 16:21:44 -07:00
he.h atm: [he] remove #ifdef clutter 2008-06-17 16:21:44 -07:00
horizon.c ATM: horizon, fix hrz_probe fail path 2008-11-29 20:42:28 -08:00
horizon.h long vs. unsigned long - low-hanging fruits in drivers 2007-10-14 12:41:51 -07:00
idt77105.c [ATM] atm/idt77105.c: Fix section mismatch. 2008-01-20 20:31:43 -08:00
idt77105.h [ATM]: [idt77105] should be __devinit not __init 2006-06-29 16:58:12 -07:00
idt77252.c atm: idt77252: Use generic SKB queue management instead of home-grown scheme. 2008-09-21 21:38:26 -07:00
idt77252.h atm: idt77252: Use generic SKB queue management instead of home-grown scheme. 2008-09-21 21:38:26 -07:00
idt77252_tables.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
iphase.c generic swap(): iphase: rename swap() to swap_byte_order() 2009-01-08 08:31:14 -08:00
iphase.h iphase: Fix 64bit warning. 2008-05-14 23:28:47 -07:00
lanai.c [ATM]: Clean up duplicate includes in drivers/atm/ 2007-08-13 22:52:00 -07:00
midway.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
nicstar.c drivers: atm, char fix integer as NULL pointer warnings 2008-04-28 17:29:18 -07:00
nicstar.h atm nicstar: Removal of debug code containing deprecated calls to cli()/sti() 2008-04-19 18:10:46 -07:00
nicstarmac.c [ATM]: [nicstar] Replace C code with call to ARRAY_SIZE() macro. 2007-07-18 01:46:53 -07:00
nicstarmac.copyright drivers/atm/: remove CVS keywords 2008-05-20 14:52:25 -07:00
solos-pci.c drivers/atm: introduce missing kfree 2009-02-08 17:00:02 -08:00
suni.c atm: [suni] add support for setting loopback and framing modes 2008-06-17 16:19:24 -07:00
suni.h atm: [suni] add support for setting loopback and framing modes 2008-06-17 16:19:24 -07:00
tonga.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
uPD98401.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
uPD98402.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
uPD98402.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
zatm.c drivers/atm: Use DIV_ROUND_UP 2008-09-22 19:22:58 -07:00
zatm.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
zeprom.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00