Author: Wolfram Sang <w.sang@pengutronix.de> Commit 6992f5334995af474c2b58d010d08bc597f0f2fe (“sysfs: Use one lockdep class per sysfs attribute.”) introduced this requirement. First, at25 was fixed manually. Then, other occurences were found with coccinelle and the following semantic patch. Results were reviewed and fixed up: @ init @ identifier struct_name, bin; @@ struct struct_name { … struct bin_attribute bin; … …
Category: Linux
Mar 12 2010
V4L/DVB: drivers/media/video: move dereference after NULL test
Author: Julia Lawall <julia@diku.dk> In quickcam_messenger.c, if the NULL test on uvd is needed, then the dereference should be after the NULL test. In vpif_display.c, std_info is initialized to the address of a structure field. This seems unlikely to be NULL. Test std_info->stdid instead. In saa7134-alsa.c, the function is only called from one place, where …
Mar 12 2010
[SCSI] bfa: eliminate useless code
Author: Julia Lawall <julia@diku.dk> The variable bfa_itnim is initialized twice to the same (side effect-free) expression. Drop one initialization. A simplified version of the semantic match that finds this problem is: (http://coccinelle.lip6.fr/) // @forall@ idexpression *x; identifier f!=ERR_PTR; @@ x = f(…) … when != x ( x = f(…,,…) | * x = f(…) …
Mar 11 2010
drivers/char/mmtimer.c: eliminate useless code
Author: Julia Lawall <julia@diku.dk> The variable x is initialized twice to the same (side effect-free) expression. Drop one initialization. A simplified version of the semantic match that finds this problem is: (http://coccinelle.lip6.fr/) // @forall@ idexpression *x; identifier f!=ERR_PTR; @@ x = f(…) … when != x ( x = f(…,,…) | * x = f(…) …
Mar 11 2010
drivers/scsi/ses.c: eliminate double free
Author: Julia Lawall <julia@diku.dk> The few lines below the kfree of hdr_buf may go to the label err_free which will also free hdr_buf. The most straightforward solution seems to be to just move the kfree of hdr_buf after these gotos. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) …
Mar 10 2010
driver core: module.c: Use kasprintf
Author: Julia Lawall <julia@diku.dk> kasprintf combines kmalloc and sprintf, and takes care of the size calculation itself. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @@ expression a,flag; expression list args; statement S; @@ a = – \(kmalloc\|kzalloc\)(…,flag) + kasprintf(flag,args) – sprintf(a,args); // Signed-off-by: Julia Lawall Signed-off-by: Greg Kroah-Hartman — drivers/base/module.c …
Mar 10 2010
mtd: block2mtd: Use kasprintf
Author: Julia Lawall <julia@diku.dk> kasprintf combines kmalloc and sprintf, and takes care of the size calculation itself. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @@ expression a,flag; expression list args; statement S; @@ a = – \(kmalloc\|kzalloc\)(…,flag) + kasprintf(flag,args) – sprintf(a,args); // Signed-off-by: Julia Lawall Signed-off-by: David Woodhouse — drivers/mtd/devices/block2mtd.c …
Mar 10 2010
powerpc/pseries/dlpar: Use kasprintf
Author: Julia Lawall <julia@diku.dk> kasprintf combines kmalloc and sprintf, and takes care of the size calculation itself. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @@ expression a,flag; expression list args; statement S; @@ a = – \(kmalloc\|kzalloc\)(…,flag) + kasprintf(flag,args) – sprintf(a,args); // Signed-off-by: Julia Lawall Acked-by: Nathan Fontenot Signed-off-by: Benjamin …
Mar 09 2010
Staging: drop redundant memset
Author: Julia Lawall <julia@diku.dk> The region set by the call to memset is immediately overwritten by the subsequent call to memcpy. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @@ expression e1,e2,e3,e4; @@ – memset(e1,e2,e3); memcpy(e1,e4,e3); // Signed-off-by: Julia Lawall Signed-off-by: Greg Kroah-Hartman — drivers/staging/rt2860/sta/assoc.c | 1 – drivers/staging/rt2860/sta_ioctl.c | 1 …
Mar 09 2010
Staging: otus: drop redundant memset
Author: Julia Lawall <julia@diku.dk> The region set by the call to memset is immediately overwritten by the subsequent call to memcpy. The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // @@ expression e1,e2,e3,e4; @@ – memset(e1,e2,e3); memcpy(e1,e4,e3); // Signed-off-by: Julia Lawall Signed-off-by: Greg Kroah-Hartman — drivers/staging/otus/wwrap.c | 1 – 1 file changed, …