Commit 6da5e6f3 authored by Kees Cook's avatar Kees Cook Committed by Rafael J. Wysocki
Browse files

ACPICA: Introduce ACPI_NONSTRING

ACPICA commit 878823ca20f1987cba0c9d4c1056be0d117ea4fe

In order to distinguish character arrays from C Strings (i.e. strings with
a terminating NUL character), add support for the "nonstring" attribute
provided by GCC. (A better name might be "ACPI_NONCSTRING", but that's
the attribute name, so stick to the existing naming convention.)

GCC 15's -Wunterminated-string-initialization will warn about truncation
of the NUL byte for string initializers unless the destination is marked
with "nonstring". Prepare for applying this attribute to the project.

Link: https://github.com/acpica/acpica/commit/878823ca


Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
Link: https://patch.msgid.link/1841930.VLH7GnMWUR@rjwysocki.net


Signed-off-by: default avatarKees Cook <kees@kernel.org>
[ rjw: Pick up the tag from Kees ]
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent e91e5964
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -1327,4 +1327,8 @@ typedef enum {
#define ACPI_FLEX_ARRAY(TYPE, NAME)     TYPE NAME[0]
#endif

#ifndef ACPI_NONSTRING
#define ACPI_NONSTRING		/* No terminating NUL character */
#endif

#endif				/* __ACTYPES_H__ */
+8 −0
Original line number Diff line number Diff line
@@ -72,4 +72,12 @@
                TYPE NAME[];                    \
        }

/*
 * Explicitly mark strings that lack a terminating NUL character so
 * that ACPICA can be built with -Wunterminated-string-initialization.
 */
#if __has_attribute(__nonstring__)
#define ACPI_NONSTRING __attribute__((__nonstring__))
#endif

#endif				/* __ACGCC_H__ */