1
0

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: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Link: https://patch.msgid.link/1841930.VLH7GnMWUR@rjwysocki.net
Signed-off-by: Kees Cook <kees@kernel.org>
[ rjw: Pick up the tag from Kees ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
Kees Cook
2025-04-25 21:27:58 +02:00
committed by Rafael J. Wysocki
parent e91e596431
commit 6da5e6f302
2 changed files with 12 additions and 0 deletions

View File

@@ -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__ */

View File

@@ -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__ */