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: <1486080687.22276.59.camel@perches.com>
Date:   Thu, 02 Feb 2017 16:11:27 -0800
From:   Joe Perches <joe@...ches.com>
To:     Arnd Bergmann <arnd@...db.de>,
        Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Cc:     Thomas Petazzoni <thomas.petazzoni@...e-electrons.com>,
        Noralf Trønnes <noralf@...nnes.org>,
        Anson Jacob <ansonjacob.aj@...il.com>,
        devel@...verdev.osuosl.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] staging: fbtft: change 'gamma' array to u32

On Thu, 2017-02-02 at 15:43 +0100, Arnd Bergmann wrote:
> Having a local variable of 1024 bytes on 64-bit architectures is a bit
> too much, and I ran into this warning while trying to see what functions
> use the largest stack:
> 
> drivers/staging/fbtft/fbtft-sysfs.c: In function 'store_gamma_curve':
> drivers/staging/fbtft/fbtft-sysfs.c:132:1: warning: the frame size of 1032 bytes is larger than 1024 bytes [-Wframe-larger-than=]
> 
> As there is no need for 64-bit gamma values (on 32-bit architectures,
> we don't use those either), I'm changing the type from 'unsigned long'
> to 'u32' here, which cuts the required space in half everywhere.
[]
> diff --git a/drivers/staging/fbtft/fb_hx8347d.c b/drivers/staging/fbtft/fb_hx8347d.c
[]
> @@ -102,7 +102,7 @@ static void set_addr_win(struct fbtft_par *par, int xs, int ys, int xe, int ye)
>   *   VRN0 VRN1 VRN2 VRN3 VRN4 VRN5 PRN0 PRN1 PKN0 PKN1 PKN2 PKN3 PKN4 CGM
>   */
>  #define CURVE(num, idx)  curves[num * par->gamma.num_values + idx]
> -static int set_gamma(struct fbtft_par *par, unsigned long *curves)
> +static int set_gamma(struct fbtft_par *par, u32 *curves)
>  {
>  	unsigned long mask[] = {
>  		0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x3f, 0x7f, 0x7f, 0x1f, 0x1f,

presumably these should be static const and maybe u8 or u32 too

> diff --git a/drivers/staging/fbtft/fb_ili9163.c b/drivers/staging/fbtft/fb_ili9163.c
[]
> @@ -202,7 +202,7 @@ static int set_var(struct fbtft_par *par)
>  
>  #ifdef GAMMA_ADJ
>  #define CURVE(num, idx)  curves[num * par->gamma.num_values + idx]
> -static int gamma_adj(struct fbtft_par *par, unsigned long *curves)
> +static int gamma_adj(struct fbtft_par *par, u32 *curves)
>  {
>  	unsigned long mask[] = {
>  		0x3F, 0x3F, 0x3F, 0x3F, 0x3F,

etc...

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ