Category: Coccinelle

Staging: go7007: Move a dereference below a NULL test

Author: Julia Lawall <julia@diku.dk> In each case, if the NULL test is necessary, then the dereference should be moved below the NULL test. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/). The result has been modified to move the initialization of usb down closer to where it is used. // @@ type …

Continue reading

Staging: agnx: Move a dereference below a NULL test

Author: Julia Lawall <julia@diku.dk> If the NULL test is necessary, then the dereference should be moved below the NULL test. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ type T; expression E; identifier i,fld; statement S; @@ – T i = E->fld; + T i; … when != E when …

Continue reading

drivers/net/hamradio: Move a dereference below a NULL test

Author: Julia Lawall <julia@diku.dk> In each case, if the NULL test is necessary, then the dereference should be moved below the NULL test. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ type T; expression E; identifier i,fld; statement S; @@ – T i = E->fld; + T i; … when …

Continue reading

[SCSI] lpfc: Move a dereference below a NULL test

Author: Julia Lawall <julia@diku.dk> In each case, if the NULL test is necessary, then the dereference should be moved below the NULL test. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ type T; expression E; identifier i,fld; statement S; @@ – T i = E->fld; + T i; … when …

Continue reading

drivers/mmc: Move a dereference below a NULL test

Author: Julia Lawall <julia@diku.dk> In each case, if the NULL test is necessary, then the dereference should be moved below the NULL test. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ type T; expression E; identifier i,fld; statement S; @@ – T i = E->fld; + T i; … when …

Continue reading

[ARM] arch/arm/common/sa1111.c: Correct error handling code

Author: Julia Lawall <julia@diku.dk> If it is reasonable to apply PTR_ERR to the result of calling clk_get, then that result should first be tested with IS_ERR, not with !. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ expression E,E1; @@ if ( – E == NULL + IS_ERR(E) ) { …

Continue reading

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; …

Continue reading

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 …

Continue reading

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 …

Continue reading

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 …

Continue reading