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] [thread-next>] [day] [month] [year] [list]
Date:   Sun, 9 Oct 2016 17:25:23 +0200
From:   Greg KH <gregkh@...uxfoundation.org>
To:     Sergio Paracuellos <sergio.paracuellos@...il.com>
Cc:     devel@...verdev.osuosl.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] staging: wlan-ng: get memory from kernel allocators
 instead of big static buffer

On Sun, Oct 09, 2016 at 05:14:52PM +0200, Sergio Paracuellos wrote:
> This patch fix the following sparse warnings in prism2fw.c:
> warning: memset with byte count of 120000
> 
> Signed-off-by: Sergio Paracuellos <sergio.paracuellos@...il.com>
> ---
>  drivers/staging/wlan-ng/prism2fw.c | 11 ++++++++---
>  1 file changed, 8 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/staging/wlan-ng/prism2fw.c b/drivers/staging/wlan-ng/prism2fw.c
> index 96aa211..7e33048 100644
> --- a/drivers/staging/wlan-ng/prism2fw.c
> +++ b/drivers/staging/wlan-ng/prism2fw.c
> @@ -124,7 +124,7 @@ struct imgchunk {
>  
>  /* Data records */
>  static unsigned int ns3data;
> -static struct s3datarec s3data[S3DATA_MAX];
> +static struct s3datarec *s3data;
>  
>  /* Plug records */
>  static unsigned int ns3plug;
> @@ -248,7 +248,12 @@ static int prism2_fwapply(const struct ihex_binrec *rfptr,
>  
>  	/* Initialize the data structures */
>  	ns3data = 0;
> -	memset(s3data, 0, sizeof(s3data));
> +	s3data = kcalloc(S3DATA_MAX, sizeof(*s3data), GFP_KERNEL);
> +	if (unlikely(!s3data)) {

Unless you can measure the speed difference, NEVER use likely or
unlikely in kernel code.  The CPU and compiler knows better than you do
what is going to happen, and optimizes it.  Especially for allocating
memory, that is a very common pattern and it knows what to do here.

Please remove this and resend.

thanks,

greg k-h

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ