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

Message ID 167416217961.4906.13789346237944390735.tip-bot2@tip-bot2
State New
Headers
Series [tip:,x86/fpu] x86/fpu: Replace zero-length array in struct xregs_state with flexible-array member |

Commit Message

tip-bot2 for Thomas Gleixner Jan. 19, 2023, 9:02 p.m. UTC
  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 <gustavoars@kernel.org>
AuthorDate:    Mon, 09 Jan 2023 19:40:38 -06:00
Committer:     Thomas Gleixner <tglx@linutronix.de>
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 <gustavoars@kernel.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Kees Cook <keescook@chromium.org>
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(-)
  

Patch

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)));
 
 /*