On Tue, Feb 23, 2016 at 08:55:04AM +0800, Geliang Tang wrote: > 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@xxxxxxx> > > > --- > > > 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. No, not for a statically defined size, it doesn't make any sense at all. kmalloc_array() is to ensure that if you need to allocate a huge size of memory, that you don't accidentally overflow the memory size with the calculation you have made, so it does that calculation in a "safe" way. For a static number, like you have here, it doesn't make any difference. checkpatch.pl is a _HINT_ not a hard-and-fast-rule. sorry, greg k-h _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel