[PATCH 4/4] staging: rtl8192u: r8192U_core: use kmalloc_array instead of kmalloc

Geliang Tang geliangtang at 163.com
Tue Feb 23 00:55:04 UTC 2016


On Sun, Feb 07, 2016 at 07:55:09PM -0800, Greg Kroah-Hartman wrote:
> On Sun, Nov 08, 2015 at 10:17:54PM +0800, Geliang Tang wrote:
> > Use kmalloc_array instead of kmalloc to allocate memory for an array.
> > 
> > Signed-off-by: Geliang Tang <geliangtang at 163.com>
> > ---
> >  drivers/staging/rtl8192u/r8192U_core.c | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> > 
> > diff --git a/drivers/staging/rtl8192u/r8192U_core.c b/drivers/staging/rtl8192u/r8192U_core.c
> > index e06864f..07a1447 100644
> > --- a/drivers/staging/rtl8192u/r8192U_core.c
> > +++ b/drivers/staging/rtl8192u/r8192U_core.c
> > @@ -1725,8 +1725,8 @@ static short rtl8192_usb_initendpoints(struct net_device *dev)
> >  {
> >  	struct r8192_priv *priv = ieee80211_priv(dev);
> >  
> > -	priv->rx_urb = kmalloc(sizeof(struct urb *) * (MAX_RX_URB + 1),
> > -			       GFP_KERNEL);
> > +	priv->rx_urb = kmalloc_array(MAX_RX_URB + 1, sizeof(struct urb *),
> > +				     GFP_KERNEL);
> 
> I don't see the benefit here with this change, do you?

It is highly likely that there is a checkpatch warning "kmalloc with multiplies"
here. But the checkpatch script does not report this warning, I think it is
because MAX_RX_URB is a macro, and there is a '+1' after it. Therefore although
it passes,I think it still should be deemed as a warning. So to use kmalloc_array
here seems better.

Thanks.

- Geliang



More information about the devel mailing list