On Sat, 15 May 2010, Julia Lawall wrote: > From: Julia Lawall <julia@xxxxxxx> > > Use kmemdup when some other buffer is immediately copied into the > allocated region. > > A simplified version of the semantic patch that makes this change is as > follows: (http://coccinelle.lip6.fr/) > > // <smpl> > @@ > expression from,to,size,flag; > statement S; > @@ > > - to = \(kmalloc\|kzalloc\)(size,flag); > + to = kmemdup(from,size,flag); > if (to==NULL || ...) S > - memcpy(to, from, size); > // </smpl> > > Signed-off-by: Julia Lawall <julia@xxxxxxx> > > --- > drivers/hid/hid-core.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff -u -p a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c > --- a/drivers/hid/hid-core.c > +++ b/drivers/hid/hid-core.c > @@ -653,10 +653,9 @@ int hid_parse_report(struct hid_device * > if (device->driver->report_fixup) > device->driver->report_fixup(device, start, size); > > - device->rdesc = kmalloc(size, GFP_KERNEL); > + device->rdesc = kmemdup(start, size, GFP_KERNEL); > if (device->rdesc == NULL) > return -ENOMEM; > - memcpy(device->rdesc, start, size); > device->rsize = size; > > parser = vmalloc(sizeof(struct hid_parser)); Applied, thanks Julia. -- Jiri Kosina SUSE Labs, Novell Inc. -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html