Subject: [tip: x86/fpu] x86/fpu: Replace zero-length array in struct xregs_state with flexible-array member

The following commit has been merged into the x86/fpu branch of tip:

Commit-ID: aa81cb9d9723694bb18359adbef7964030758dba
Gitweb: https://git.kernel.org/tip/aa81cb9d9723694bb18359adbef7964030758dba
Author: Gustavo A. R. Silva <[email protected]>
AuthorDate: Mon, 09 Jan 2023 19:40:38 -06:00
Committer: Thomas Gleixner <[email protected]>
CommitterDate: Thu, 19 Jan 2023 21:59:35 +01:00

x86/fpu: Replace zero-length array in struct xregs_state with flexible-array member

Zero-length arrays are deprecated [1] and have to be replaced by C99
flexible-array members.

This helps with the ongoing efforts to tighten the FORTIFY_SOURCE routines
on memcpy() and help to make progress towards globally enabling
-fstrict-flex-arrays=3 [2]

Signed-off-by: Gustavo A. R. Silva <[email protected]>
Signed-off-by: Thomas Gleixner <[email protected]>
Reviewed-by: Kees Cook <[email protected]>
Link: https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays [1]
Link: https://gcc.gnu.org/pipermail/gcc-patches/2022-October/602902.html [2]
Link: https://github.com/KSPP/linux/issues/78
Link: https://lore.kernel.org/r/Y7zCFpa2XNs/o9YQ@work
---
arch/x86/include/asm/fpu/types.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/include/asm/fpu/types.h b/arch/x86/include/asm/fpu/types.h
index eb7cd11..7f6d858 100644
--- a/arch/x86/include/asm/fpu/types.h
+++ b/arch/x86/include/asm/fpu/types.h
@@ -321,7 +321,7 @@ struct xstate_header {
struct xregs_state {
struct fxregs_state i387;
struct xstate_header header;
- u8 extended_state_area[0];
+ u8 extended_state_area[];
} __attribute__ ((packed, aligned (64)));

/*