lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20160223011013.GA27444@kroah.com>
Date:	Mon, 22 Feb 2016 17:10:13 -0800
From:	Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To:	Geliang Tang <geliangtang@....com>
Cc:	devel@...verdev.osuosl.org,
	Raphaƫl Beamonte <raphael.beamonte@...il.com>,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH 4/4] staging: rtl8192u: r8192U_core: use kmalloc_array
 instead of kmalloc

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@....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.

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ