ACPICA: Apply ACPI_NONSTRING in more places
authorAhmed Salem <x0rw3ll@gmail.com>
Fri, 25 Apr 2025 19:31:05 +0000 (21:31 +0200)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 12 May 2025 13:38:42 +0000 (15:38 +0200)
ACPICA commit 1035a3d453f7dd49a235a59ee84ebda9d2d2f41b

Add ACPI_NONSTRING for destination char arrays without a terminating NUL
character. This is a follow-up to commit 35ad99236f3a ("ACPICA: Apply
ACPI_NONSTRING") where not all instances received the same treatment, in
preparation for replacing strncpy() calls with memcpy()

Link: https://github.com/acpica/acpica/commit/1035a3d4
Signed-off-by: Ahmed Salem <x0rw3ll@gmail.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Link: https://patch.msgid.link/3833065.MHq7AAxBmi@rjwysocki.net
drivers/acpi/acpica/acdebug.h
include/acpi/actbl.h
tools/power/acpi/os_specific/service_layers/oslinuxtbl.c
tools/power/acpi/tools/acpidump/apfiles.c

index 911875c5a5f190584e04a95cb81ef1c45e8b8595..58842130ca47bbe6e15274b069f80111c359fef7 100644 (file)
@@ -37,7 +37,7 @@ struct acpi_db_argument_info {
 struct acpi_db_execute_walk {
        u32 count;
        u32 max_count;
-       char name_seg[ACPI_NAMESEG_SIZE + 1];
+       char name_seg[ACPI_NAMESEG_SIZE + 1] ACPI_NONSTRING;
 };
 
 #define PARAM_LIST(pl)                  pl
index 2fc89704be1797cad70297d2a19cd7440819d086..74cc61e3ab09b12f9f5a2ac3769e8cd4252f8b12 100644 (file)
  ******************************************************************************/
 
 struct acpi_table_header {
-       char signature[ACPI_NAMESEG_SIZE] __nonstring;  /* ASCII table signature */
+       char signature[ACPI_NAMESEG_SIZE] ACPI_NONSTRING;       /* ASCII table signature */
        u32 length;             /* Length of table in bytes, including this header */
        u8 revision;            /* ACPI Specification minor version number */
        u8 checksum;            /* To make sum of entire table == 0 */
-       char oem_id[ACPI_OEM_ID_SIZE];  /* ASCII OEM identification */
-       char oem_table_id[ACPI_OEM_TABLE_ID_SIZE];      /* ASCII OEM table identification */
+       char oem_id[ACPI_OEM_ID_SIZE] ACPI_NONSTRING;   /* ASCII OEM identification */
+       char oem_table_id[ACPI_OEM_TABLE_ID_SIZE] ACPI_NONSTRING;       /* ASCII OEM table identification */
        u32 oem_revision;       /* OEM revision number */
        char asl_compiler_id[ACPI_NAMESEG_SIZE];        /* ASCII ASL compiler vendor ID */
        u32 asl_compiler_revision;      /* ASL compiler version */
index 9d70d8c945af4e45d79c9a438641cded58f50ecd..987a5d32f3b600aa15797ae34d3bb2f887ad2a78 100644 (file)
@@ -19,7 +19,7 @@ ACPI_MODULE_NAME("oslinuxtbl")
 typedef struct osl_table_info {
        struct osl_table_info *next;
        u32 instance;
-       char signature[ACPI_NAMESEG_SIZE];
+       char signature[ACPI_NAMESEG_SIZE] ACPI_NONSTRING;
 
 } osl_table_info;
 
index 13817f9112c06aca32faba1cd22ef2499844dd3a..9fc927fcc22a7f5798d48c41c4f8f7c924627e3f 100644 (file)
@@ -103,7 +103,7 @@ int ap_open_output_file(char *pathname)
 
 int ap_write_to_binary_file(struct acpi_table_header *table, u32 instance)
 {
-       char filename[ACPI_NAMESEG_SIZE + 16];
+       char filename[ACPI_NAMESEG_SIZE + 16] ACPI_NONSTRING;
        char instance_str[16];
        ACPI_FILE file;
        acpi_size actual;