On Sat, 2010-05-15 at 23:12 +0200, 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> Acked-by: Dan Williams <dcbw@xxxxxxxxxx> > --- > drivers/net/wireless/libertas/if_usb.c | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > > diff -u -p a/drivers/net/wireless/libertas/if_usb.c b/drivers/net/wireless/libertas/if_usb.c > --- a/drivers/net/wireless/libertas/if_usb.c > +++ b/drivers/net/wireless/libertas/if_usb.c > @@ -618,16 +618,14 @@ static void if_usb_receive_fwload(struct > return; > } > > - syncfwheader = kmalloc(sizeof(struct fwsyncheader), GFP_ATOMIC); > + syncfwheader = kmemdup(skb->data + IPFIELD_ALIGN_OFFSET, > + sizeof(struct fwsyncheader), GFP_ATOMIC); > if (!syncfwheader) { > lbs_deb_usbd(&cardp->udev->dev, "Failure to allocate syncfwheader\n"); > kfree_skb(skb); > return; > } > > - memcpy(syncfwheader, skb->data + IPFIELD_ALIGN_OFFSET, > - sizeof(struct fwsyncheader)); > - > if (!syncfwheader->cmd) { > lbs_deb_usb2(&cardp->udev->dev, "FW received Blk with correct CRC\n"); > lbs_deb_usb2(&cardp->udev->dev, "FW received Blk seqnum = %d\n", -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html