Author: Julia Lawall <julia@diku.dk> Error handling code following a kmalloc should free the allocated data. The label fail_alloc already does this for rfkill. A simplified version of the semantic match that finds the problem is as follows: (http://coccinelle.lip6.fr) // @r exists@ local idexpression x; statement S; identifier f1; position p1,p2; expression *ptr != NULL; @@ …
Catégorie : Linux
Dec 23 2011
mfd: Introduce missing kfree in 88pm860x probe routine
Author: Julia Lawall <julia@diku.dk> Error handling code following a kzalloc should free the allocated data. At this point, chip has been allocated and some fields have been initialized, but it has not been stored anywhere, so it should be freed before leaving the function. A simplified version of the semantic match that finds the problem …
Dec 23 2011
[media] drivers/staging/media/as102/as102_usb_drv.c: shift position of allocation code
Author: Julia Lawall <julia@diku.dk> The conditional after the kzalloc says that the tested expression should never be true, but if it were, the allocated data would have to be freed. This change just moves the allocation below the test, to avoid any possibility of the problem. A simplified version of the semantic match that finds …
Dec 23 2011
[media] drivers/media/video/davinci/vpbe.c: introduce missing kfree
Author: Julia Lawall <julia@diku.dk> vpbe_dev needs to be freed before leaving the function in an error case. A simplified version of the semantic match that finds the problem is as follows: (http://coccinelle.lip6.fr) // @r exists@ local idexpression x; statement S; identifier f1; position p1,p2; expression *ptr != NULL; @@ x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(…); … if (x …
Dec 19 2011
module_param: make bool parameters really bool (net & drivers/net)
Author: Rusty Russell <rusty@rustcorp.com.au> module_param(bool) used to counter-intuitively take an int. In fddd5201 (mid-2009) we allowed bool or int/unsigned int using a messy trick. It’s time to remove the int/unsigned int option. For this version it’ll simply give a warning, but it’ll break next kernel version. (Thanks to Joe Perches for suggesting coccinelle for 0/1 …
Dec 19 2011
net: fix assignment of 0/1 to bool variables.
Author: Rusty Russell <rusty@rustcorp.com.au> DaveM said: Please, this kind of stuff rots forever and not using bool properly drives me crazy. Joe Perches gave me the spatch script: @@ bool b; @@ -b = 0 +b = false @@ bool b; @@ -b = 1 +b = true I merely installed coccinelle, read the documentation …
Dec 08 2011
ARM: SAMSUNG: Use kmemdup rather than duplicating its implementation
Author: Thomas Meyer <thomas@m3y3r.de> The semantic patch that makes this change is available in scripts/coccinelle/api/memdup.cocci. Signed-off-by: Thomas Meyer Signed-off-by: Kukjin Kim — arch/arm/plat-s3c24xx/dma.c | 3 +– 1 file changed, 1 insertion(+), 2 deletions(-) diff –git a/arch/arm/plat-s3c24xx/dma.c b/arch/arm/plat-s3c24xx/dma.c index 53754bcf..9fe3534 100644 — a/arch/arm/plat-s3c24xx/dma.c +++ b/arch/arm/plat-s3c24xx/dma.c @@ -1437,11 +1437,10 @@ int __init s3c24xx_dma_init_map(struct s3c24xx_dma_selection *sel) size_t …
Dec 05 2011
staging:iio: Remove redundant spi driver bus initialization
Author: Lars-Peter Clausen <lars@metafoo.de> In ancient times it was necessary to manually initialize the bus field of an spi_driver to spi_bus_type. These days this is done in spi_register_driver() so we can drop the manual assignment. The patch was generated using the following coccinelle semantic patch: // @@ identifier _driver; @@ struct spi_driver _driver = { …
Nov 29 2011
Input: remove redundant spi driver bus initialization
Author: Lars-Peter Clausen <lars@metafoo.de> In ancient times it was necessary to manually initialize the bus field of an spi_driver to spi_bus_type. These days this is done in spi_driver_register(), so we can drop the manual assignment. The patch was generated using the following coccinelle semantic patch: // @@ identifier _driver; @@ struct spi_driver _driver = { …
Nov 24 2011
wireless: Remove redundant spi driver bus initialization
Author: Lars-Peter Clausen <lars@metafoo.de> In ancient times it was necessary to manually initialize the bus field of an spi_driver to spi_bus_type. These days this is done in spi_driver_register(), so we can drop the manual assignment. The patch was generated using the following coccinelle semantic patch: // @@ identifier _driver; @@ struct spi_driver _driver = { …