* [PATCH 1/37] drivers/net/wireless/libertas: Use kmemdup @ 2010-05-15 21:12 Julia Lawall [not found] ` <Pine.LNX.4.64.1005152312060.21345-QfmoRoYWmW9knbxzx/v8hQ@public.gmane.org> 0 siblings, 1 reply; 2+ messages in thread From: Julia Lawall @ 2010-05-15 21:12 UTC (permalink / raw) To: Dan Williams, John W. Linville, libertas-dev-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, linux-wireless-u79uwXL29TY76Z2rM5mHXA, netdev-u79uwXL29TY76Z2rM5mHXA, linux-kernel From: Julia Lawall <julia-dAYI7NvHqcQ@public.gmane.org> 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-dAYI7NvHqcQ@public.gmane.org> --- 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)); ^ permalink raw reply [flat|nested] 2+ messages in thread
[parent not found: <Pine.LNX.4.64.1005152312060.21345-QfmoRoYWmW9knbxzx/v8hQ@public.gmane.org>]
* Re: [PATCH 1/37] drivers/net/wireless/libertas: Use kmemdup [not found] ` <Pine.LNX.4.64.1005152312060.21345-QfmoRoYWmW9knbxzx/v8hQ@public.gmane.org> @ 2010-05-17 16:35 ` Dan Williams 0 siblings, 0 replies; 2+ messages in thread From: Dan Williams @ 2010-05-17 16:35 UTC (permalink / raw) To: Julia Lawall Cc: John W. Linville, libertas-dev-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, linux-wireless-u79uwXL29TY76Z2rM5mHXA, netdev-u79uwXL29TY76Z2rM5mHXA, linux-kernel-u79uwXL29TY76Z2rM5mHXA, kernel-janitors-u79uwXL29TY76Z2rM5mHXA On Sat, 2010-05-15 at 23:12 +0200, Julia Lawall wrote: > From: Julia Lawall <julia-dAYI7NvHqcQ@public.gmane.org> > > 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-dAYI7NvHqcQ@public.gmane.org> Acked-by: Dan Williams <dcbw-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> > --- > 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-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2010-05-17 16:35 UTC | newest] Thread overview: 2+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2010-05-15 21:12 [PATCH 1/37] drivers/net/wireless/libertas: Use kmemdup Julia Lawall [not found] ` <Pine.LNX.4.64.1005152312060.21345-QfmoRoYWmW9knbxzx/v8hQ@public.gmane.org> 2010-05-17 16:35 ` Dan Williams
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).