Catégorie : Linux

sparc: Add missing of_node_put

Author: Nicolas Palix <npalix@diku.dk> of_node_put is needed before discarding a value received from of_find_node_by_name, eg in error handling code or when the device node is no longer used. The semantic match that catches the bug is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression struct device_node *n; position p1, p2; struct device_node *n1; statement S; …

Lire la suite

V4L/DVB (9796): drivers/media/video/cx88/cx88-alsa.c: Adjust error-handling code

Author: Julia Lawall <julia@diku.dk> In the function cx88_audio_initdev, the value card has been created using snd_card_new. The other error handling code in this function frees the value using snd_card_free. I have thus changed the first error case to do the same. On the other hand, it may be that card is not sufficiently initialized at …

Lire la suite

drivers/hvc: Add missing of_node_put

Author: Nicolas Palix <npalix@diku.dk> of_node_put is needed before discarding a value received from of_find_node_by_name, e.g., in error handling code or when the device node is no longer used. The semantic match that catches the bug is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression struct device_node *n; position p1, p2; statement S1,S2; expression E,E1; expression …

Lire la suite

powerpc/chrp: Add missing of_node_put in pci.c

Author: Nicolas Palix <npalix@diku.dk> of_node_put is needed before discarding a value received from of_find_node_by_name, eg in error handling code or when the device node is no longer used. The semantic match that catches the bug is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression struct device_node *n; position p1, p2; statement S1,S2; expression E,E1; expression …

Lire la suite

[MTD] drivers/mtd/maps/nettel.c: use ARRAY_SIZE

Author: Julia Lawall <julia@diku.dk> ARRAY_SIZE is more concise to use when the size of an array is divided by the size of its type or the size of its first element. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @i@ @@ #include @depends on i using « paren.iso »@ type T; T[] E; …

Lire la suite

[ARM] eliminate NULL test and memset after alloc_bootmem

Author: Julia Lawall <julia@diku.dk> As noted by Akinobu Mita in patch b1fceac2b9e04d278316b2faddf276015fc06e3b, alloc_bootmem and related functions never return NULL and always return a zeroed region of memory. Thus a NULL test or memset after calls to these functions is unnecessary. This was fixed using the following semantic patch. (http://www.emn.fr/x-info/coccinelle/) // @@ expression E; statement S; …

Lire la suite

[MTD] [NAND] drivers/mtd/nand/pasemi_nand.c: Add missing pci_dev_put

Author: Julia Lawall <julia@diku.dk> pci_get_device increments a reference count that should be decremented using pci_dev_put. The semantic patch that finds the problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local idexpression x; statement S,S1; position p1,p2,p3; expression E,E1; type T,T1; expression *ptr != NULL; @@ ( if ((x@p1 = pci_get_device(…)) == NULL) S | x@p1 …

Lire la suite

drivers/isdn/mISDN: use ARRAY_SIZE

Author: Julia Lawall <julia@diku.dk> ARRAY_SIZE is more concise to use when the size of an array is divided by the size of its type or the size of its first element. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @i@ @@ #include @depends on i using « paren.iso »@ type T; T[] E; …

Lire la suite

Bluetooth: Change simple_strtol to simple_strtoul

Author: Julia Lawall <julia@diku.dk> Since size, addr, fcs, and tmp are unsigned, it would seem better to use simple_strtoul that simple_strtol. A simplified version of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r2@ long e; position p; @@ e = simple_strtol@p(…) @@ position p != r2.p; type T; T e; …

Lire la suite

ALSA: sound/pci/mixart/mixart.c: Add missing snd_card_free

Author: Julia Lawall <julia@diku.dk> The function snd_mixart_create creates a link between mgr and card that allows snd_mixart_free to free card as well. But if snd_mixart_create fails, then the link has not been created and card has to be freed explicitly. The semantic match that finds the problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r exists@ local …

Lire la suite