linux/arch/mips
Gustavo A. R. Silva 94dfc73e7c treewide: uapi: Replace zero-length arrays with flexible-array members
There is a regular need in the kernel to provide a way to declare
having a dynamically sized set of trailing elements in a structure.
Kernel code should always use “flexible array members”[1] for these
cases. The older style of one-element or zero-length arrays should
no longer be used[2].

This code was transformed with the help of Coccinelle:
(linux-5.19-rc2$ spatch --jobs $(getconf _NPROCESSORS_ONLN) --sp-file script.cocci --include-headers --dir . > output.patch)

@@
identifier S, member, array;
type T1, T2;
@@

struct S {
  ...
  T1 member;
  T2 array[
- 0
  ];
};

-fstrict-flex-arrays=3 is coming and we need to land these changes
to prevent issues like these in the short future:

../fs/minix/dir.c:337:3: warning: 'strcpy' will always overflow; destination buffer has size 0,
but the source string has length 2 (including NUL byte) [-Wfortify-source]
		strcpy(de3->name, ".");
		^

Since these are all [0] to [] changes, the risk to UAPI is nearly zero. If
this breaks anything, we can use a union with a new member name.

[1] https://en.wikipedia.org/wiki/Flexible_array_member
[2] https://www.kernel.org/doc/html/v5.16/process/deprecated.html#zero-length-and-one-element-arrays

Link: https://github.com/KSPP/linux/issues/78
Build-tested-by: kernel test robot <lkp@intel.com>
Link: https://lore.kernel.org/lkml/62b675ec.wKX6AOZ6cbE71vtF%25lkp@intel.com/
Acked-by: Dan Williams <dan.j.williams@intel.com> # For ndctl.h
Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
2022-06-28 21:26:05 +02:00
..
alchemy ARM: multiplatform changes, part 2 2022-06-02 15:23:54 -07:00
ar7 mips: ar7: convert to CONFIG_COMMON_CLK 2021-06-08 17:00:09 +02:00
ath25 MIPS: ath25: Constify static irq_domain_ops 2022-02-22 09:39:03 +01:00
ath79 MIPS: Remove redundant definitions of device_tree_init() 2022-03-14 15:09:02 +01:00
bcm47xx MIPS: BCM47XX: Add support for Netgear WN2500RP v1 & v2 2022-01-09 15:41:50 +01:00
bcm63xx linux-watchdog 5.17-rc1 tag 2022-01-17 08:07:57 +02:00
bmips MIPS: bmips: Fix compiler warning observed on W=1 build 2022-05-23 18:28:03 +02:00
boot USB / Thunderbolt changes for 5.19-rc1 2022-06-03 11:17:49 -07:00
cavium-octeon Cleanups and fixes 2022-05-30 11:01:50 -07:00
cobalt MIPS: Remove empty prom_free_prom_memory functions 2021-01-07 17:11:33 +01:00
configs Cleanups and fixes 2022-05-30 11:01:50 -07:00
crypto MIPS: crypto: Fix CRC32 code 2022-04-01 10:19:03 +02:00
dec MIPS: fix typos in comments 2022-05-04 22:22:59 +02:00
fw MIPS: fix typos in comments 2022-05-04 22:22:59 +02:00
generic mips: ingenic: Do not manually reference the CPU clock 2022-05-18 13:56:26 -07:00
include treewide: uapi: Replace zero-length arrays with flexible-array members 2022-06-28 21:26:05 +02:00
ingenic MIPS: Kconfig: ingenic: Ensure MACH_INGENIC_GENERIC selects all SoCs 2021-06-01 11:44:47 +02:00
jazz MIPS: fix typos in comments 2022-05-04 22:22:59 +02:00
kernel This set of changes updates init and user mode helper tasks to be 2022-06-03 16:03:05 -07:00
kvm MIPS: fix typos in comments 2022-05-04 22:22:59 +02:00
lantiq MIPS: lantiq: check the return value of kzalloc() 2022-03-30 20:25:48 +02:00
lib MIPS: Only use current_stack_pointer on GCC 2022-03-14 15:02:53 +01:00
loongson2ef MIPS: Loongson{2ef,64}: Wrap -mno-branch-likely with cc-option 2022-02-07 18:30:12 +01:00
loongson32 MIPS: loongson32: Kconfig: Remove extra space 2022-05-23 11:08:45 +02:00
loongson64 swiotlb: make the swiotlb_init interface more useful 2022-04-18 07:21:11 +02:00
math-emu
mm MIPS: Use NOKPROBE_SYMBOL() instead of __kprobes annotation 2022-05-12 18:00:51 +02:00
mti-malta MIPS: Remove redundant definitions of device_tree_init() 2022-03-14 15:09:02 +01:00
n64 mips: Add N64 machine type 2021-01-22 11:40:00 +01:00
net MIPS: fix typos in comments 2022-05-04 22:22:59 +02:00
pci Cleanups and fixes 2022-05-30 11:01:50 -07:00
pic32 MIPS: fix typos in comments 2022-05-04 22:22:59 +02:00
power
ralink Staging driver update for 5.18-rc1 2022-03-28 12:50:50 -07:00
rb532 MIPS: rb532: move GPIOD definition into C-files 2022-03-30 20:26:26 +02:00
sgi-ip22 mips: ip22: Reword PANICED to PANICKED and remove useless header 2022-05-04 22:23:56 +02:00
sgi-ip27 MIPS: SGI-IP27: Free some unused memory 2022-04-26 15:06:00 +02:00
sgi-ip30 MIPS: SGI-IP30: Free some unused memory 2022-04-26 15:07:23 +02:00
sgi-ip32 MIPS: Allow modules to set board_be_handler 2021-11-09 16:07:26 +01:00
sibyte Cleanups and fixes 2022-05-30 11:01:50 -07:00
sni MIPS: sni: Fix the build 2021-10-18 18:09:54 +02:00
tools MIPS: fix typos in comments 2022-05-04 22:22:59 +02:00
txx9 MIPS: fix typos in comments 2022-05-04 22:22:59 +02:00
vdso mips: Enable KCSAN 2022-02-07 18:31:57 +01:00
vr41xx MIPS: VR41xx: Drop redundant spinlock initialization 2022-05-12 17:56:44 +02:00
Kbuild kbuild: use more subdir- for visiting subdirectories while cleaning 2021-10-24 13:49:46 +09:00
Kbuild.platforms MIPS: Remove TX39XX support 2022-03-01 10:07:22 +01:00
Kconfig RISC-V Patches for the 5.19 Merge Window, Part 1 2022-05-31 14:10:54 -07:00
Kconfig.debug tracing: Refactor TRACE_IRQFLAGS_SUPPORT in Kconfig 2021-08-16 11:37:21 -04:00
Makefile mips: Always permit to build u-boot images 2022-03-07 13:11:20 +01:00
Makefile.postlink