mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00
gcc-15: acpi: sprinkle random '__nonstring' crumbles around
This is not great: I'd much rather introduce a typedef that is a "ACPI name byte buffer", and use that to mark these special 4-byte ACPI names that do not use NUL termination. But as noted in the previous commit ("gcc-15: make 'unterminated string initialization' just a warning") gcc doesn't actually seem to support that notion, so instead you have to just mark every single array declaration individually. So this is not pretty, but this gets rid of the bulk of the annoying warnings during an allmodconfig build for me. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
d5d45a7f26
commit
4b4bd8c50f
4 changed files with 5 additions and 5 deletions
|
@ -293,7 +293,7 @@ acpi_status (*acpi_internal_method) (struct acpi_walk_state * walk_state);
|
|||
* expected_return_btypes - Allowed type(s) for the return value
|
||||
*/
|
||||
struct acpi_name_info {
|
||||
char name[ACPI_NAMESEG_SIZE];
|
||||
char name[ACPI_NAMESEG_SIZE] __nonstring;
|
||||
u16 argument_list;
|
||||
u8 expected_btypes;
|
||||
};
|
||||
|
@ -370,7 +370,7 @@ typedef acpi_status (*acpi_object_converter) (struct acpi_namespace_node *
|
|||
converted_object);
|
||||
|
||||
struct acpi_simple_repair_info {
|
||||
char name[ACPI_NAMESEG_SIZE];
|
||||
char name[ACPI_NAMESEG_SIZE] __nonstring;
|
||||
u32 unexpected_btypes;
|
||||
u32 package_index;
|
||||
acpi_object_converter object_converter;
|
||||
|
|
|
@ -25,7 +25,7 @@ acpi_status (*acpi_repair_function) (struct acpi_evaluate_info * info,
|
|||
return_object_ptr);
|
||||
|
||||
typedef struct acpi_repair_info {
|
||||
char name[ACPI_NAMESEG_SIZE];
|
||||
char name[ACPI_NAMESEG_SIZE] __nonstring;
|
||||
acpi_repair_function repair_function;
|
||||
|
||||
} acpi_repair_info;
|
||||
|
|
|
@ -396,7 +396,7 @@ static u8 __init acpi_table_checksum(u8 *buffer, u32 length)
|
|||
}
|
||||
|
||||
/* All but ACPI_SIG_RSDP and ACPI_SIG_FACS: */
|
||||
static const char table_sigs[][ACPI_NAMESEG_SIZE] __initconst = {
|
||||
static const char table_sigs[][ACPI_NAMESEG_SIZE] __initconst __nonstring = {
|
||||
ACPI_SIG_BERT, ACPI_SIG_BGRT, ACPI_SIG_CPEP, ACPI_SIG_ECDT,
|
||||
ACPI_SIG_EINJ, ACPI_SIG_ERST, ACPI_SIG_HEST, ACPI_SIG_MADT,
|
||||
ACPI_SIG_MSCT, ACPI_SIG_SBST, ACPI_SIG_SLIT, ACPI_SIG_SRAT,
|
||||
|
|
|
@ -66,7 +66,7 @@
|
|||
******************************************************************************/
|
||||
|
||||
struct acpi_table_header {
|
||||
char signature[ACPI_NAMESEG_SIZE]; /* ASCII table signature */
|
||||
char signature[ACPI_NAMESEG_SIZE] __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 */
|
||||
|
|
Loading…
Add table
Reference in a new issue