[PATCH RESEND] powerpc/rtas: Replace one-element array with flexible array member

From: Thorsten Blum
Date: Wed Aug 13 2025 - 06:32:44 EST


Replace the deprecated one-element array with a modern flexible array
member in the struct rtas_error_log and add the __counted_by_be()
compiler attribute to improve access bounds-checking via
CONFIG_UBSAN_BOUNDS and CONFIG_FORTIFY_SOURCE.

Link: https://github.com/KSPP/linux/issues/79
Signed-off-by: Thorsten Blum <thorsten.blum@xxxxxxxxx>
---
arch/powerpc/include/asm/rtas-types.h | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/arch/powerpc/include/asm/rtas-types.h b/arch/powerpc/include/asm/rtas-types.h
index 9d5b16803cbb..5d40d187b965 100644
--- a/arch/powerpc/include/asm/rtas-types.h
+++ b/arch/powerpc/include/asm/rtas-types.h
@@ -42,8 +42,9 @@ struct rtas_error_log {
*/
u8 byte3; /* General event or error*/
__be32 extended_log_length; /* length in bytes */
- unsigned char buffer[1]; /* Start of extended log */
- /* Variable length. */
+
+ /* Start of extended log, variable length */
+ unsigned char buffer[] __counted_by_be(extended_log_length);
};

/* RTAS general extended event log, Version 6. The extended log starts
--
2.50.1