MIPS: dec: prom: Address -Warray-bounds warning
authorGustavo A. R. Silva <gustavoars@kernel.org>
Thu, 22 Jun 2023 23:43:57 +0000 (17:43 -0600)
committerThomas Bogendoerfer <tsbogend@alpha.franken.de>
Fri, 23 Jun 2023 13:00:29 +0000 (15:00 +0200)
commit7b191b9b55df2a844bd32d1d380f47a7df1c2896
tree475ce83476499dcdbbfbf767dc06be51a067692b
parent944520f85d5b1fb2f9ea243be41f9c9af3d4cef3
MIPS: dec: prom: Address -Warray-bounds warning

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@kernel.org>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
arch/mips/include/asm/dec/prom.h