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]
Message-ID: <20230623131019.GD11636@alpha.franken.de>
Date:   Fri, 23 Jun 2023 15:10:19 +0200
From:   Thomas Bogendoerfer <tsbogend@...ha.franken.de>
To:     "Gustavo A. R. Silva" <gustavoars@...nel.org>
Cc:     "Maciej W. Rozycki" <macro@...am.me.uk>,
        linux-mips@...r.kernel.org, linux-kernel@...r.kernel.org,
        linux-hardening@...r.kernel.org
Subject: Re: [PATCH][next] MIPS: dec: prom: Address -Warray-bounds warning

On Thu, Jun 22, 2023 at 05:43:57PM -0600, Gustavo A. R. Silva wrote:
> Zero-length arrays are deprecated, and we are replacing them with flexible
> array members instead. So, replace zero-length array with flexible-array
> member in struct memmap.
> 
> Address the following warning found after building (with GCC-13) mips64
> with decstation_64_defconfig:
> In function 'rex_setup_memory_region',
>     inlined from 'prom_meminit' at arch/mips/dec/prom/memory.c:91:3:
> arch/mips/dec/prom/memory.c:72:31: error: array subscript i is outside array bounds of 'unsigned char[0]' [-Werror=array-bounds=]
>    72 |                 if (bm->bitmap[i] == 0xff)
>       |                     ~~~~~~~~~~^~~
> In file included from arch/mips/dec/prom/memory.c:16:
> ./arch/mips/include/asm/dec/prom.h: In function 'prom_meminit':
> ./arch/mips/include/asm/dec/prom.h:73:23: note: while referencing 'bitmap'
>    73 |         unsigned char bitmap[0];
> 
> This helps with the ongoing efforts to globally enable -Warray-bounds.
> 
> This results in no differences in binary output.
> 
> Link: https://github.com/KSPP/linux/issues/79
> Link: https://github.com/KSPP/linux/issues/323
> Signed-off-by: Gustavo A. R. Silva <gustavoars@...nel.org>
> ---
>  arch/mips/include/asm/dec/prom.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/mips/include/asm/dec/prom.h b/arch/mips/include/asm/dec/prom.h
> index 1e1247add1cf..908e96e3a311 100644
> --- a/arch/mips/include/asm/dec/prom.h
> +++ b/arch/mips/include/asm/dec/prom.h
> @@ -70,7 +70,7 @@ static inline bool prom_is_rex(u32 magic)
>   */
>  typedef struct {
>  	int pagesize;
> -	unsigned char bitmap[0];
> +	unsigned char bitmap[];
>  } memmap;
>  
>  
> -- 
> 2.34.1

applied to mips-next.

Thomas.

-- 
Crap can work. Given enough thrust pigs will fly, but it's not necessarily a
good idea.                                                [ RFC1925, 2.3 ]

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ