ACPI: ACPICA 20260408
Subsystems (2)
Rafael J. Wysocki
maintainercover ACPI: ACPICA 20260408
Hi All,
This series of patches corresponds to upstream ACPICA changes made between the 20251212 release and the 20260408 release that have not been included into the Linux source code yet, and a couple upstream ACPICA changes made after the 20260408 release.
It contains the following material:
Abdelkader Boudih (1):
ACPICA: Fix FADT 32/64X length mismatch warning
Akhil R (5):
ACPICA: Add LVR to acrestyp.h
ACPICA: Fetch LVR I2C resource descriptor
ACPICA: Change LVR to 8 bit value
ACPICA: Mention the LVR bits
ACPICA: fix I2C LVR item count in the conversion table
Aymeric Wibo (1):
ACPICA: actypes: Distinguish between D3hot/cold
Daniel Schaefer (1):
ACPICA: Add modern standby DSM GUIDs
David Laight (1):
ACPICA: Remove spurious precision from format used to dump parse trees
Pawel Chmielewski (2):
ACPICA: actbl2.h: ACPI 6.6: Updates for MADT MPWakeup
ACPICA: Update the copyright year to 2026
Saket Dumbre (1):
ACPICA: Update version to 20260408
Weiming Shi (1):
ACPICA: Fix NULL pointer dereference in acpi_ns_custom_package()
ikaros (14):
ACPICA: Fix condition check in acpi_ps_parse_loop()
ACPICA: Add alias node support in namespace handling
ACPICA: Fix use-after-free in acpi_ds_terminate_control_method()
ACPICA: validate byte_count in acpi_ps_get_next_package_length()
ACPICA: add boundary checks in acpi_ps_get_next_field()
ACPICA: Prevent adding invalid references
ACPICA: Fix integer overflow in acpi_ex_opcode_3A_1T_1R() (mid_op)
ACPICA: Improve argument parsing in acpi_ps_get_next_simple_arg()
ACPICA: validate handler object type in two places
ACPICA: Add validation for node in acpi_ns_build_normalized_path()
ACPICA: Enhance buffer validation in acpi_ut_walk_aml_resources()
ACPICA: Enhance OEM ID and Table ID validation in acpi_ex_load_table_op()
ACPICA: Add package limit checks in parser functions
ACPICA: add boundary checks in two places
Thanks!
Rafael J. Wysocki
maintainerPATCH 1/27 ACPICA: actypes: Distinguish between D3hot/cold
From: Aymeric Wibo <[email protected]>
And default ACPI_STATE_D3 to D3cold.
--- include/acpi/actypes.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
include/acpi/actypes.h +3 -3
@@ -591,9 +591,9 @@ typedef u64 acpi_integer;#define ACPI_STATE_D1 (u8) 1#define ACPI_STATE_D2 (u8) 2#define ACPI_STATE_D3_HOT (u8) 3 -#define ACPI_STATE_D3 (u8) 4 -#define ACPI_STATE_D3_COLD ACPI_STATE_D3 -#define ACPI_D_STATES_MAX ACPI_STATE_D3 +#define ACPI_STATE_D3_COLD (u8) 4 +#define ACPI_STATE_D3 ACPI_STATE_D3_COLD +#define ACPI_D_STATES_MAX ACPI_STATE_D3_COLD#define ACPI_D_STATE_COUNT 5#define ACPI_STATE_C0 (u8) 0
Signature · 1 line
2.51.0
Rafael J. Wysocki
maintainerPATCH 2/27 ACPICA: actbl2.h: ACPI 6.6: Updates for MADT MPWakeup
In reply to Rafael J. WysockiFrom: Pawel Chmielewski <[email protected]>
ACPI 6.6 introduces "Test" command for Multiprocessor Wakeup as well as resetting the Multiprocessor Wakeup Mailbox
--- include/acpi/actbl2.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
include/acpi/actbl2.h +1 -1
@@ -1524,7 +1524,7 @@ struct acpi_madt_generic_translator {#define ACPI_MADT_ITS_NON_COHERENT (1) -/* 16: Multiprocessor wakeup (ACPI 6.4) */ +/* 16: Multiprocessor wakeup (ACPI 6.6) */ struct acpi_madt_multiproc_wakeup {struct acpi_subtable_header header;
Signature · 1 line
2.51.0
Rafael J. Wysocki
maintainerPATCH 3/27 ACPICA: Fix condition check in acpi_ps_parse_loop()
In reply to Rafael J. WysockiFrom: ikaros <[email protected]>
Fix condition check for AML_ELSE_OP in acpi_ps_parse_loop() to prevent out-of-bounds access.
--- drivers/acpi/acpica/psloop.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
drivers/acpi/acpica/psloop.c +4 -1
@@ -425,7 +425,10 @@ acpi_status acpi_ps_parse_loop(struct acpi_walk_state *walk_state)ACPI_ERROR ((AE_INFO ,"Skipping While/If block" )); -if (*walk_state->aml ==AML_ELSE_OP ) { +if ((walk_state->aml < + parser_state->aml_end) + && (*walk_state->aml == +AML_ELSE_OP )) {ACPI_ERROR ((AE_INFO ,"Skipping Else block" )); walk_state->parser_state.aml =
Signature · 1 line
2.51.0
Rafael J. Wysocki
maintainerPATCH 4/27 ACPICA: Add alias node support in namespace handling
In reply to Rafael J. WysockiFrom: ikaros <[email protected]>
- Mark nodes as alias in ld_namespace2_begin() function.
- Skip teardown for alias nodes in acpi_ns_detach_object() function.
- Define ANOBJ_IS_ALIAS flag in aclocal.h.
--- drivers/acpi/acpica/aclocal.h | 1 + drivers/acpi/acpica/nsobject.c | 6 ++++++ 2 files changed, 7 insertions(+)
drivers/acpi/acpica/aclocal.h +1 -0
@@ -169,6 +169,7 @@ struct acpi_namespace_node {#define ANOBJ_IS_EXTERNAL 0x08/* iASL only: This object created via External() */ #define ANOBJ_METHOD_NO_RETVAL 0x10/* iASL only: Method has no return value */ #define ANOBJ_METHOD_SOME_NO_RETVAL 0x20/* iASL only: Method has at least one return value */ +#define ANOBJ_IS_ALIAS 0x40/* iASL only: Node is an alias to another node */ #define ANOBJ_IS_REFERENCED 0x80/* iASL only: Object was referenced */ /* Internal ACPI table management - master table list */
drivers/acpi/acpica/nsobject.c +6 -0
@@ -173,6 +173,12 @@ void acpi_ns_detach_object(struct acpi_namespace_node *node) obj_desc = node->object; +/* Alias nodes point directly to other namespace nodes; skip teardown */ +if (node->flags &ANOBJ_IS_ALIAS ) { + node->object =NULL ; + return_VOID; + } +if (!obj_desc || (obj_desc->common.type ==ACPI_TYPE_LOCAL_DATA )) { return_VOID; }
Signature · 1 line
2.51.0
Rafael J. Wysocki
maintainerPATCH 5/27 ACPICA: Add modern standby DSM GUIDs
In reply to Rafael J. WysockiFrom: Daniel Schaefer <[email protected]>
Add AMD, Intel and Microsoft GUIDs for Low-power S0 Idle _DSM.
--- include/acpi/acuuid.h | 5 +++++ 1 file changed, 5 insertions(+)
include/acpi/acuuid.h +5 -0
@@ -63,6 +63,11 @@#define UUID_CACHE_PROPERTIES "6DC63E77-257E-4E78-A973-A21F2796898D"#define UUID_PHYSICAL_PROPERTY "DDE4D59A-AA42-4349-B407-EA40F57D9FB7" +/* Modern Standby */ +#define UUID_LPS0_MICROSOFT "11E00D56-CE64-47CE-837B-1F898F9AA461" +#define UUID_LPS0_INTEL "C4EB40A0-6CD2-11E2-BCFD-0800200C9A66" +#define UUID_LPS0_AMD "E3F32452-FEBC-43CE-9039-932122D37721" +/* Miscellaneous */ #define UUID_PLATFORM_CAPABILITIES "0811b06e-4a27-44f9-8d60-3cbbc22e7b48"
Signature · 1 line
2.51.0
Rafael J. Wysocki
maintainerPATCH 6/27 ACPICA: Fix FADT 32/64X length mismatch warning
In reply to Rafael J. WysockiFrom: Abdelkader Boudih <[email protected]>
When the 64-bit address is set but bit_width is 0, the spec says the legacy length should be used. That is valid firmware.
Skip the warning if bit_width is 0.
This avoids false warnings like:
32/64X length mismatch in FADT/gpe0_block: 128/0
Tested on free_BSD 16.0-CURRENT.
--- drivers/acpi/acpica/tbfadt.c | 3 +++ 1 file changed, 3 insertions(+)
drivers/acpi/acpica/tbfadt.c +3 -0
@@ -553,8 +553,11 @@ static void acpi_tb_convert_fadt(void)* Note: If the legacy length field is > 0xFF bits, ignore * this check. (GPE registers can be larger than the * 64-bit GAS structure can accommodate, 0xFF bits). +* Also skip if bit_width is 0, indicating the 64-bit field +* was not populated - legacy length will be used instead. */ if ((ACPI_MUL_8 (length) <=ACPI_UINT8_MAX ) && + (address64->bit_width !=0 ) && (address64->bit_width !=ACPI_MUL_8 (length))) { ACPI_BIOS_WARNING((AE_INFO,
Signature · 1 line
2.51.0
Rafael J. Wysocki
maintainerPATCH 7/27 ACPICA: Add LVR to acrestyp.h
In reply to Rafael J. WysockiFrom: Akhil R <[email protected]>
Add a new field called lvr to struct acpi_resource_i2c_serialbus.
--- include/acpi/acrestyp.h | 1 + 1 file changed, 1 insertion(+)
include/acpi/acrestyp.h +1 -0
@@ -423,6 +423,7 @@ struct acpi_resource_i2c_serialbus { ACPI_RESOURCE_SERIAL_COMMON u8 access_mode;u16 slave_address;u32 connection_speed; +u8 lvr; };/* Values for access_mode field above */
Signature · 1 line
2.51.0
Rafael J. Wysocki
maintainerPATCH 8/27 ACPICA: Fetch LVR I2C resource descriptor
In reply to Rafael J. WysockiFrom: Akhil R <[email protected]>
Add LVR I2C resource entry to acpi_rs_convert_i2c_serial_bus[].
--- drivers/acpi/acpica/rsserial.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
drivers/acpi/acpica/rsserial.c +5 -1
@@ -315,7 +315,7 @@ struct acpi_rsconvert_info acpi_rs_convert_csi2_serial_bus[14] = {* ******************************************************************************/ -struct acpi_rsconvert_info acpi_rs_convert_i2c_serial_bus[17 ] = { +struct acpi_rsconvert_info acpi_rs_convert_i2c_serial_bus[18 ] = { {ACPI_RSC_INITGET ,ACPI_RESOURCE_TYPE_SERIAL_BUS , ACPI_RS_SIZE(struct acpi_resource_i2c_serialbus),ACPI_RSC_TABLE_SIZE (acpi_rs_convert_i2c_serial_bus)},
@@ -391,6 +391,10 @@ struct acpi_rsconvert_info acpi_rs_convert_i2c_serial_bus[17] = {AML_OFFSET (i2c_serial_bus.type_specific_flags), 0}, + {ACPI_RSC_1BITFLAG, ACPI_RS_OFFSET(data.i2c_serial_bus.lvr), +AML_OFFSET (i2c_serial_bus.type_specific_flags) +1 , + 0}, + {ACPI_RSC_MOVE32, ACPI_RS_OFFSET(data.i2c_serial_bus.connection_speed),AML_OFFSET (i2c_serial_bus.connection_speed), 1},
Signature · 1 line
2.51.0
Rafael J. Wysocki
maintainerPATCH 9/27 ACPICA: Change LVR to 8 bit value
In reply to Rafael J. WysockiFrom: Akhil R <[email protected]>
In the LVR I2C resource entry to acpi_rs_convert_i2c_serial_bus[].
--- drivers/acpi/acpica/rsserial.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/acpi/acpica/rsserial.c +1 -1
@@ -391,7 +391,7 @@ struct acpi_rsconvert_info acpi_rs_convert_i2c_serial_bus[18] = {AML_OFFSET (i2c_serial_bus.type_specific_flags), 0}, - {ACPI_RSC_1BITFLAG, ACPI_RS_OFFSET(data.i2c_serial_bus.lvr), + {ACPI_RSC_MOVE8, ACPI_RS_OFFSET(data.i2c_serial_bus.lvr),AML_OFFSET (i2c_serial_bus.type_specific_flags) +1 , 0},
Signature · 1 line
2.51.0
Rafael J. Wysocki
maintainerPATCH 10/27 ACPICA: Mention the LVR bits
In reply to Rafael J. WysockiFrom: Akhil R <[email protected]>
Add a comment mentioning the LVR byte position in the type_specific_flag.
--- drivers/acpi/acpica/rsserial.c | 1 + 1 file changed, 1 insertion(+)
drivers/acpi/acpica/rsserial.c +1 -0
@@ -391,6 +391,7 @@ struct acpi_rsconvert_info acpi_rs_convert_i2c_serial_bus[18] = {AML_OFFSET (i2c_serial_bus.type_specific_flags), 0}, +/* Read LVR from Type Specific Flags, bits[15:8] */ {ACPI_RSC_MOVE8, ACPI_RS_OFFSET(data.i2c_serial_bus.lvr),AML_OFFSET (i2c_serial_bus.type_specific_flags) +1 , 0},
Signature · 1 line
2.51.0
Rafael J. Wysocki
maintainerPATCH 11/27 ACPICA: fix I2C LVR item count in the conversion table
In reply to Rafael J. WysockiFrom: Akhil R <[email protected]>
For ACPI_RSC_MOVE8, the 'Value' field in struct acpi_rsconvert_info is the item count count and not a bit position like for the bitflags. Set 'Value' as '1' to fix this.
Conversion still works coincidentally with '0' because item_count is not reset between table entries, and the previous count value was taking effect.
--- drivers/acpi/acpica/rsserial.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/acpi/acpica/rsserial.c +1 -1
@@ -394,7 +394,7 @@ struct acpi_rsconvert_info acpi_rs_convert_i2c_serial_bus[18] = {/* Read LVR from Type Specific Flags, bits[15:8] */ {ACPI_RSC_MOVE8 ,ACPI_RS_OFFSET (data.i2c_serial_bus.lvr),AML_OFFSET (i2c_serial_bus.type_specific_flags) +1 , - 0}, + 1}, {ACPI_RSC_MOVE32, ACPI_RS_OFFSET(data.i2c_serial_bus.connection_speed), AML_OFFSET(i2c_serial_bus.connection_speed),
Signature · 1 line
2.51.0
Rafael J. Wysocki
maintainerPATCH 12/27 ACPICA: Fix use-after-free in acpi_ds_terminate_control_method()
In reply to Rafael J. WysockiFrom: ikaros <[email protected]>
Fix use-after-free issue in acpi_ds_terminate_control_method() by clearing references to method locals and arguments.
--- drivers/acpi/acpica/dsmethod.c | 43 ++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+)
drivers/acpi/acpica/dsmethod.c +43 -0
@@ -705,6 +705,8 @@ void acpi_ds_terminate_control_method(union acpi_operand_object *method_desc, struct acpi_walk_state *walk_state) { + u32 i; +struct acpi_namespace_node *ref_node;ACPI_FUNCTION_TRACE_PTR (ds_terminate_control_method, walk_state);
@@ -715,6 +717,47 @@ acpi_ds_terminate_control_method(union acpi_operand_object *method_desc, }if (walk_state) { +/* +* Check if the return value is a ref_of reference to a method local +* or argument. If so, clear the reference to avoid use-after-free +* when the walk state is deleted. +*/ +if (walk_state->return_desc && + (walk_state->return_desc->common.type == +ACPI_TYPE_LOCAL_REFERENCE ) + && (walk_state->return_desc->reference.class == +ACPI_REFCLASS_REFOF )) { + ref_node = walk_state->return_desc->reference.object; +if (ref_node) { + +/* Check against method locals */ +for (i =0 ; i <ACPI_METHOD_NUM_LOCALS ; i++) { +if (ref_node == + &walk_state->local_variables[i]) { +acpi_ut_remove_reference + (walk_state->return_desc); + walk_state->return_desc =NULL ; +break ; + } + } + +/* Check against method arguments if not already cleared */ +if (walk_state->return_desc) { +for (i =0 ; i <ACPI_METHOD_NUM_ARGS ; + i++) { +if (ref_node == + &walk_state->arguments[i]) { +acpi_ut_remove_reference + (walk_state-> + return_desc); + walk_state-> + return_desc =NULL ; +break ; + } + } + } + } + }/* Delete all arguments and locals */
Signature · 1 line
2.51.0
Rafael J. Wysocki
maintainerPATCH 13/27 ACPICA: validate byte_count in acpi_ps_get_next_package_length()
In reply to Rafael J. WysockiFrom: ikaros <[email protected]>
Validate package length reading in acpi_ps_get_next_package_length().
--- drivers/acpi/acpica/psargs.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+)
drivers/acpi/acpica/psargs.c +17 -0
@@ -48,6 +48,7 @@ acpi_ps_get_next_package_length(struct acpi_parse_state *parser_state)u32 package_length =0 ;u32 byte_count;u8 byte_zero_mask =0x3F ;/* Default [0:5] */ +u32 remaining;ACPI_FUNCTION_TRACE (ps_get_next_package_length);
@@ -55,7 +56,23 @@ acpi_ps_get_next_package_length(struct acpi_parse_state *parser_state)* Byte 0 bits [6:7] contain the number of additional bytes * used to encode the package length, either 0,1,2, or 3 */ + +/* Check if we have at least one byte to read */ + remaining = (u32 )ACPI_PTR_DIFF (parser_state->aml_end, aml); +if (remaining ==0 ) { +return_UINT32 (0 ); + } + byte_count = (aml[0 ] >>6 ); + +/* Validate byte_count and ensure we have enough bytes to read */ +if (byte_count >= remaining) { + +/* Clamp to available bytes and advance to end */ + parser_state->aml = parser_state->aml_end; +return_UINT32 (0 ); + } + parser_state->aml += ((acpi_size )byte_count +1 );/* Get bytes 3, 2, 1 as needed */
Signature · 1 line
2.51.0
Rafael J. Wysocki
maintainerPATCH 14/27 ACPICA: add boundary checks in acpi_ps_get_next_field()
In reply to Rafael J. WysockiFrom: ikaros <[email protected]>
Add boundary checks in acpi_ps_get_next_field() to prevent out-of-bounds access.
--- drivers/acpi/acpica/psargs.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+)
drivers/acpi/acpica/psargs.c +17 -0
@@ -491,6 +491,10 @@ static union acpi_parse_object *acpi_ps_get_next_field(struct acpi_parse_stateASL_CV_CAPTURE_COMMENTS_ONLY (parser_state); aml = parser_state->aml; +if (aml >= parser_state->aml_end) { +return_PTR (NULL ); + } +/* Determine field type */ switch (ACPI_GET8 (parser_state->aml)) {
@@ -539,6 +543,11 @@ static union acpi_parse_object *acpi_ps_get_next_field(struct acpi_parse_state/* Get the 4-character name */ +if ((parser_state->aml +ACPI_NAMESEG_SIZE ) > + parser_state->aml_end) { +acpi_ps_free_op (field); +return_PTR (NULL ); + }ACPI_MOVE_32_TO_32 (&name, parser_state->aml);acpi_ps_set_name (field, name); parser_state->aml +=ACPI_NAMESEG_SIZE ;
@@ -584,6 +593,10 @@ static union acpi_parse_object *acpi_ps_get_next_field(struct acpi_parse_state/* Get the two bytes (Type/Attribute) */ +if ((parser_state->aml +2 ) > parser_state->aml_end) { +acpi_ps_free_op (field); +return_PTR (NULL ); + } access_type =ACPI_GET8 (parser_state->aml); parser_state->aml++; access_attribute =ACPI_GET8 (parser_state->aml);
@@ -595,6 +608,10 @@ static union acpi_parse_object *acpi_ps_get_next_field(struct acpi_parse_state/* This opcode has a third byte, access_length */ if (opcode ==AML_INT_EXTACCESSFIELD_OP ) { +if (parser_state->aml >= parser_state->aml_end) { +acpi_ps_free_op (field); +return_PTR (NULL ); + } access_length =ACPI_GET8 (parser_state->aml); parser_state->aml++;
Signature · 1 line
2.51.0
Rafael J. Wysocki
maintainerPATCH 15/27 ACPICA: Prevent adding invalid references
In reply to Rafael J. WysockiFrom: ikaros <[email protected]>
Prevent adding references for local, argument, and debug objects in acpi_ut_copy_simple_object().
--- drivers/acpi/acpica/utcopy.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-)
drivers/acpi/acpica/utcopy.c +9 -1
@@ -731,7 +731,15 @@ acpi_ut_copy_simple_object(union acpi_operand_object *source_desc,break ; } -acpi_ut_add_reference (source_desc->reference.object); +/* +* Local/Arg/Debug references do not have a valid Object pointer +* that can be referenced +*/ +if ((source_desc->reference.class !=ACPI_REFCLASS_LOCAL ) && + (source_desc->reference.class !=ACPI_REFCLASS_ARG ) && + (source_desc->reference.class !=ACPI_REFCLASS_DEBUG )) { +acpi_ut_add_reference (source_desc->reference.object); + }break ;case ACPI_TYPE_REGION :
Signature · 1 line
2.51.0
Rafael J. Wysocki
maintainerPATCH 16/27 ACPICA: Fix integer overflow in acpi_ex_opcode_3A_1T_1R() (mid_op)
In reply to Rafael J. WysockiFrom: ikaros <[email protected]>
Add overflow check for Index + Length to prevent integer overflow when calculating the truncation length. This prevents negative size parameter being passed to memcpy().
--- drivers/acpi/acpica/exoparg3.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/acpi/acpica/exoparg3.c +1 -1
@@ -159,7 +159,7 @@ acpi_status acpi_ex_opcode_3A_1T_1R(struct acpi_walk_state *walk_state)/* Truncate request if larger than the actual String/Buffer */ - else if ((index + length) > operand[0]->string.length) { + else if ((index + length) > operand[0]->string.length || (index + length) < index) { /* Check for overflow */ length = (acpi_size )operand[0 ]->string.length - (acpi_size )index;
Signature · 1 line
2.51.0
Rafael J. Wysocki
maintainerPATCH 17/27 ACPICA: Improve argument parsing in acpi_ps_get_next_simple_arg()
In reply to Rafael J. WysockiFrom: ikaros <[email protected]>
Improve argument parsing in acpi_ps_get_next_simple_arg() to handle remaining AML data safely.
--- drivers/acpi/acpica/psargs.c | 78 +++++++++++++++++++++++++++++++----- 1 file changed, 68 insertions(+), 10 deletions(-)
drivers/acpi/acpica/psargs.c +68 -10
@@ -384,6 +384,8 @@ acpi_ps_get_next_simple_arg(struct acpi_parse_state *parser_state,u32 length;u16 opcode;u8 *aml = parser_state->aml; +u32 remaining = (u32 )ACPI_PTR_DIFF (parser_state->aml_end, aml); +u64 partial_value;ACPI_FUNCTION_TRACE_U32 (ps_get_next_simple_arg, arg_type);
@@ -393,8 +395,13 @@ acpi_ps_get_next_simple_arg(struct acpi_parse_state *parser_state,/* Get 1 byte from the AML stream */ opcode =AML_BYTE_OP ; - arg->common.value.integer = (u64) *aml; - length =1 ; +if (remaining >=1 ) { + arg->common.value.integer = (u64)*aml; + length =1 ; + }else { + arg->common.value.integer =0 ; + length =0 ; + }break ;case ARGP_WORDDATA :
@@ -402,8 +409,19 @@ acpi_ps_get_next_simple_arg(struct acpi_parse_state *parser_state,/* Get 2 bytes from the AML stream */ opcode =AML_WORD_OP ; -ACPI_MOVE_16_TO_64 (&arg->common.value.integer, aml); - length =2 ; +if (remaining >=2 ) { +ACPI_MOVE_16_TO_64 (&arg->common.value.integer, aml); + length =2 ; + }else { + arg->common.value.integer =0 ; + length =0 ; +if (remaining >0 ) { + partial_value =0 ; +memcpy (&partial_value, aml, remaining); + arg->common.value.integer = partial_value; + length = remaining; + } + }break ;case ARGP_DWORDDATA :
@@ -411,8 +429,19 @@ acpi_ps_get_next_simple_arg(struct acpi_parse_state *parser_state,/* Get 4 bytes from the AML stream */ opcode =AML_DWORD_OP ; -ACPI_MOVE_32_TO_64 (&arg->common.value.integer, aml); - length =4 ; +if (remaining >=4 ) { +ACPI_MOVE_32_TO_64 (&arg->common.value.integer, aml); + length =4 ; + }else { + arg->common.value.integer =0 ; + length =0 ; +if (remaining >0 ) { + partial_value =0 ; +memcpy (&partial_value, aml, remaining); + arg->common.value.integer = partial_value; + length = remaining; + } + }break ;case ARGP_QWORDDATA :
@@ -420,8 +449,19 @@ acpi_ps_get_next_simple_arg(struct acpi_parse_state *parser_state,/* Get 8 bytes from the AML stream */ opcode =AML_QWORD_OP ; -ACPI_MOVE_64_TO_64 (&arg->common.value.integer, aml); - length =8 ; +if (remaining >=8 ) { +ACPI_MOVE_64_TO_64 (&arg->common.value.integer, aml); + length =8 ; + }else { + arg->common.value.integer =0 ; + length =0 ; +if (remaining >0 ) { + partial_value =0 ; +memcpy (&partial_value, aml, remaining); + arg->common.value.integer = partial_value; + length = remaining; + } + }break ;case ARGP_CHARLIST :
@@ -434,10 +474,28 @@ acpi_ps_get_next_simple_arg(struct acpi_parse_state *parser_state,/* Find the null terminator */ length =0 ; -while (aml[length]) { +while ((length < remaining) && aml[length]) { + length++; + } +if (length < remaining) { + +/* Account for the terminating null */ length++; + }else { +/* +* No terminator found - add null at buffer boundary +* and report a warning +*/ +ACPI_WARNING ((AE_INFO , +"Invalid AML string: no null terminator, truncating at offset %u" , + (u32)(aml - parser_state->aml))); + +/* Add null terminator at the boundary */ +if (remaining >0 ) { + aml[remaining -1 ] =0 ; + length = remaining; + } } - length++;break ;case ARGP_NAME :
Signature · 1 line
2.51.0
Rafael J. Wysocki
maintainerPATCH 18/27 ACPICA: validate handler object type in two places
In reply to Rafael J. WysockiFrom: ikaros <[email protected]>
ACPICA: validate handler object type in acpi_ev_has_default_handler() and acpi_ev_find_region_handler().
--- drivers/acpi/acpica/evhandler.c | 11 +++++++++++ 1 file changed, 11 insertions(+)
drivers/acpi/acpica/evhandler.c +11 -0
@@ -130,6 +130,14 @@ acpi_ev_has_default_handler(struct acpi_namespace_node *node,/* Walk the linked list of handlers for this object */ while (handler_obj) { + +/* Validate handler object type before accessing fields */ + +if (handler_obj->common.type != +ACPI_TYPE_LOCAL_ADDRESS_HANDLER ) { +break ; + } +if (handler_obj->address_space.space_id == space_id) {if (handler_obj->address_space.handler_flags &ACPI_ADDR_HANDLER_DEFAULT_INSTALLED ) {
@@ -292,6 +300,9 @@ union acpi_operand_object *acpi_ev_find_region_handler(acpi_adr_space_type/* Walk the handler list for this device */ while (handler_obj) { +if (handler_obj->common.type !=ACPI_TYPE_LOCAL_ADDRESS_HANDLER ) { +break ; + }/* Same space_id indicates a handler is installed */
Signature · 1 line
2.51.0
Rafael J. Wysocki
maintainerPATCH 19/27 ACPICA: Add validation for node in acpi_ns_build_normalized_path()
In reply to Rafael J. WysockiFrom: ikaros <[email protected]>
Add validation for node in acpi_ns_build_normalized_path() to prevent use-after-free vulnerabilities.
--- drivers/acpi/acpica/nsnames.c | 6 ++++++ 1 file changed, 6 insertions(+)
drivers/acpi/acpica/nsnames.c +6 -0
@@ -222,6 +222,12 @@ acpi_ns_build_normalized_path(struct acpi_namespace_node *node, goto build_trailing_null; } +/* Validate the Node to avoid use-after-free vulnerabilities */ + +if (ACPI_GET_DESCRIPTOR_TYPE (node) !=ACPI_DESC_TYPE_NAMED ) { + goto build_trailing_null; + } + next_node = node;while (next_node && next_node != acpi_gbl_root_node) {if (next_node != node) {
Signature · 1 line
2.51.0
Rafael J. Wysocki
maintainerPATCH 20/27 ACPICA: Enhance buffer validation in acpi_ut_walk_aml_resources()
In reply to Rafael J. WysockiFrom: ikaros <[email protected]>
Enhance buffer validation in acpi_ut_walk_aml_resources() to prevent buffer overflows.
--- drivers/acpi/acpica/utresrc.c | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+)
drivers/acpi/acpica/utresrc.c +30 -0
@@ -165,6 +165,28 @@ acpi_ut_walk_aml_resources(struct acpi_walk_state *walk_state,/* Walk the byte list, abort on any invalid descriptor type or length */ while (aml < end_aml) { +/* +* Validate that the remaining buffer space can hold enough +* bytes to safely access fields during validation. +* For large resource descriptors (bit 7 set), we need enough +* bytes to access the Type field in serial_bus resources. +* Small resource descriptors only need sizeof(struct aml_resource_end_tag). +*/ +if ((acpi_size)(end_aml - aml) < +sizeof (struct aml_resource_end_tag )) { +return_ACPI_STATUS (AE_AML_BUFFER_LENGTH ); + } + +/* +* For large resource descriptors, ensure enough space for +* the header plus serial_bus Type field access. +*/ +if ((ACPI_GET8 (aml) &ACPI_RESOURCE_NAME_LARGE ) && + ((acpi_size)(end_aml - aml) < + ACPI_OFFSET(struct aml_resource_common_serialbus, + type) +1 )) { +return_ACPI_STATUS (AE_AML_BUFFER_LENGTH ); + }/* Validate the Resource Type and Resource Length */
@@ -182,6 +204,14 @@ acpi_ut_walk_aml_resources(struct acpi_walk_state *walk_state, length =acpi_ut_get_descriptor_length (aml); +/* +* Validate that the descriptor length doesn't exceed the +* remaining buffer size to prevent reading beyond the end. +*/ +if (length > (acpi_size)(end_aml - aml)) { +return_ACPI_STATUS (AE_AML_BUFFER_LENGTH ); + } +/* Invoke the user function */ if (user_function) {
Signature · 1 line
2.51.0
Rafael J. Wysocki
maintainerPATCH 21/27 ACPICA: Fix NULL pointer dereference in acpi_ns_custom_package()
In reply to Rafael J. WysockiFrom: Weiming Shi <[email protected]>
acpi_ns_custom_package() unconditionally dereferences the first element of the package to read the _BIX version number, without checking for NULL:
if ((*Elements)->Common.Type != ACPI_TYPE_INTEGER)
When firmware returns a _BIX package whose first element is an unresolvable reference, ACPICA evaluates that entry to NULL. acpi_ns_remove_null_elements() does not strip NULL entries for ACPI_PTYPE_CUSTOM packages (fixed-position format would break if elements were shifted), so acpi_ns_custom_package() sees the NULL and causes a crash.
Add a NULL check for the first element (version field) before dereferencing it. The caller then receives AE_AML_OPERAND_TYPE instead of crashing.
--- drivers/acpi/acpica/nsprepkg.c | 7 +++++++ 1 file changed, 7 insertions(+)
drivers/acpi/acpica/nsprepkg.c +7 -0
@@ -631,6 +631,13 @@ acpi_ns_custom_package(struct acpi_evaluate_info *info,/* Get version number, must be Integer */ +if (!(*elements)) { +ACPI_WARN_PREDEFINED ((AE_INFO , info->full_pathname, + info->node_flags, +"Return Package has a NULL version element" )); +return_ACPI_STATUS (AE_AML_OPERAND_TYPE ); + } +if ((*elements)->common.type !=ACPI_TYPE_INTEGER ) { ACPI_WARN_PREDEFINED((AE_INFO, info->full_pathname, info->node_flags,
Signature · 1 line
2.51.0
Rafael J. Wysocki
maintainerPATCH 22/27 ACPICA: Enhance OEM ID and Table ID validation in acpi_ex_load_table_op()
In reply to Rafael J. WysockiFrom: ikaros <[email protected]>
Enhance OEM ID and Table ID validation in acpi_ex_load_table_op() to prevent buffer overflows.
--- drivers/acpi/acpica/exconfig.c | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-)
drivers/acpi/acpica/exconfig.c +24 -2
@@ -90,6 +90,8 @@ acpi_ex_load_table_op(struct acpi_walk_state *walk_state,union acpi_operand_object *return_obj;union acpi_operand_object *ddb_handle;u32 table_index; +char oem_id[ACPI_OEM_ID_SIZE +1 ]; +char oem_table_id[ACPI_OEM_TABLE_ID_SIZE +1 ];ACPI_FUNCTION_TRACE (ex_load_table_op);
@@ -102,12 +104,32 @@ acpi_ex_load_table_op(struct acpi_walk_state *walk_state, *return_desc = return_obj; +/* +* Validate OEM ID and OEM Table ID string lengths. +* acpi_tb_find_table expects strings that can safely read +* ACPI_OEM_ID_SIZE and ACPI_OEM_TABLE_ID_SIZE bytes. +*/ +if ((operand[1 ]->string.length >ACPI_OEM_ID_SIZE ) || + (operand[2 ]->string.length >ACPI_OEM_TABLE_ID_SIZE )) { +return_ACPI_STATUS (AE_AML_STRING_LIMIT ); + } + +/* +* Copy OEM strings to local buffers with guaranteed null-termination. +* This prevents heap-buffer-overflow when acpi_tb_find_table reads +* ACPI_OEM_ID_SIZE/ACPI_OEM_TABLE_ID_SIZE bytes. +*/ +memcpy (oem_id, operand[1 ]->string.pointer, operand[1 ]->string.length); + oem_id[operand[1 ]->string.length] =0 ; +memcpy (oem_table_id, operand[2 ]->string.pointer, + operand[2 ]->string.length); + oem_table_id[operand[2 ]->string.length] =0 ; +/* Find the ACPI table in the RSDT/XSDT */ acpi_ex_exit_interpreter (); status =acpi_tb_find_table (operand[0 ]->string.pointer, - operand[1 ]->string.pointer, - operand[2 ]->string.pointer, &table_index); + oem_id, oem_table_id, &table_index);acpi_ex_enter_interpreter ();if (ACPI_FAILURE (status)) {if (status !=AE_NOT_FOUND ) {
Signature · 1 line
2.51.0
Rafael J. Wysocki
maintainerPATCH 23/27 ACPICA: Remove spurious precision from format used to dump parse trees
In reply to Rafael J. WysockiFrom: David Laight <[email protected]>
The debug code in acpi_ps_delete_parse_tree() uses ("%*.s", level * 4, " ") to indent traces.
POSIX requires the empty precision be treated as zero, but the kernel treats is as 'no precision specified'.
Change to ("%*s", level * 4, "") since there is additional whitespace and no reason to indent by one space when level is zero.
--- drivers/acpi/acpica/pswalk.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/acpi/acpica/pswalk.c +2 -2
@@ -49,8 +49,8 @@ void acpi_ps_delete_parse_tree(union acpi_parse_object *subtree_root)/* This debug option will print the entire parse tree */ - acpi_os_printf(" %*.s%s %p", (level * 4), - " ", + acpi_os_printf(" %*s%s %p", (level * 4), + "", acpi_ps_get_opcode_name(op-> common. aml_opcode),
Signature · 1 line
2.51.0
Rafael J. Wysocki
maintainerPATCH 24/27 ACPICA: Update the copyright year to 2026
In reply to Rafael J. WysockiFrom: Pawel Chmielewski <[email protected]>
Update copyright notices in all ACPICA files.
--- drivers/acpi/acpica/acapps.h | 4 ++-- drivers/acpi/acpica/accommon.h | 2 +- drivers/acpi/acpica/acconvert.h | 2 +- drivers/acpi/acpica/acdebug.h | 2 +- drivers/acpi/acpica/acdispat.h | 2 +- drivers/acpi/acpica/acevents.h | 2 +- drivers/acpi/acpica/acglobal.h | 2 +- drivers/acpi/acpica/achware.h | 2 +- drivers/acpi/acpica/acinterp.h | 2 +- drivers/acpi/acpica/aclocal.h | 2 +- drivers/acpi/acpica/acmacros.h | 2 +- drivers/acpi/acpica/acnamesp.h | 2 +- drivers/acpi/acpica/acobject.h | 2 +- drivers/acpi/acpica/acopcode.h | 2 +- drivers/acpi/acpica/acparser.h | 2 +- drivers/acpi/acpica/acpredef.h | 2 +- drivers/acpi/acpica/acresrc.h | 2 +- drivers/acpi/acpica/acstruct.h | 2 +- drivers/acpi/acpica/actables.h | 2 +- drivers/acpi/acpica/acutils.h | 2 +- drivers/acpi/acpica/amlcode.h | 2 +- drivers/acpi/acpica/amlresrc.h | 2 +- drivers/acpi/acpica/dbhistry.c | 2 +- drivers/acpi/acpica/dsargs.c | 2 +- drivers/acpi/acpica/dscontrol.c | 2 +- drivers/acpi/acpica/dsdebug.c | 2 +- drivers/acpi/acpica/dsfield.c | 2 +- drivers/acpi/acpica/dsinit.c | 2 +- drivers/acpi/acpica/dsmethod.c | 2 +- drivers/acpi/acpica/dsobject.c | 2 +- drivers/acpi/acpica/dsopcode.c | 2 +- drivers/acpi/acpica/dspkginit.c | 2 +- drivers/acpi/acpica/dswexec.c | 2 +- drivers/acpi/acpica/dswload.c | 2 +- drivers/acpi/acpica/dswload2.c | 2 +- drivers/acpi/acpica/dswscope.c | 2 +- drivers/acpi/acpica/dswstate.c | 2 +- drivers/acpi/acpica/evevent.c | 2 +- drivers/acpi/acpica/evglock.c | 2 +- drivers/acpi/acpica/evgpe.c | 2 +- drivers/acpi/acpica/evgpeblk.c | 2 +- drivers/acpi/acpica/evgpeinit.c | 2 +- drivers/acpi/acpica/evgpeutil.c | 2 +- drivers/acpi/acpica/evhandler.c | 2 +- drivers/acpi/acpica/evmisc.c | 2 +- drivers/acpi/acpica/evregion.c | 2 +- drivers/acpi/acpica/evrgnini.c | 2 +- drivers/acpi/acpica/evxface.c | 2 +- drivers/acpi/acpica/evxfevnt.c | 2 +- drivers/acpi/acpica/evxfgpe.c | 2 +- drivers/acpi/acpica/evxfregn.c | 2 +- drivers/acpi/acpica/exconcat.c | 2 +- drivers/acpi/acpica/exconfig.c | 2 +- drivers/acpi/acpica/exconvrt.c | 2 +- drivers/acpi/acpica/excreate.c | 2 +- drivers/acpi/acpica/exdebug.c | 2 +- drivers/acpi/acpica/exdump.c | 2 +- drivers/acpi/acpica/exfield.c | 2 +- drivers/acpi/acpica/exfldio.c | 2 +- drivers/acpi/acpica/exmisc.c | 2 +- drivers/acpi/acpica/exmutex.c | 2 +- drivers/acpi/acpica/exnames.c | 2 +- drivers/acpi/acpica/exoparg1.c | 2 +- drivers/acpi/acpica/exoparg2.c | 2 +- drivers/acpi/acpica/exoparg3.c | 2 +- drivers/acpi/acpica/exoparg6.c | 2 +- drivers/acpi/acpica/exprep.c | 2 +- drivers/acpi/acpica/exregion.c | 2 +- drivers/acpi/acpica/exresnte.c | 2 +- drivers/acpi/acpica/exresolv.c | 2 +- drivers/acpi/acpica/exresop.c | 2 +- drivers/acpi/acpica/exserial.c | 2 +- drivers/acpi/acpica/exstore.c | 2 +- drivers/acpi/acpica/exstoren.c | 2 +- drivers/acpi/acpica/exstorob.c | 2 +- drivers/acpi/acpica/exsystem.c | 2 +- drivers/acpi/acpica/extrace.c | 2 +- drivers/acpi/acpica/exutils.c | 2 +- drivers/acpi/acpica/hwacpi.c | 2 +- drivers/acpi/acpica/hwesleep.c | 2 +- drivers/acpi/acpica/hwgpe.c | 2 +- drivers/acpi/acpica/hwsleep.c | 2 +- drivers/acpi/acpica/hwtimer.c | 2 +- drivers/acpi/acpica/hwvalid.c | 2 +- drivers/acpi/acpica/hwxface.c | 2 +- drivers/acpi/acpica/hwxfsleep.c | 2 +- drivers/acpi/acpica/nsarguments.c | 2 +- drivers/acpi/acpica/nsconvert.c | 2 +- drivers/acpi/acpica/nsdump.c | 2 +- drivers/acpi/acpica/nsdumpdv.c | 2 +- drivers/acpi/acpica/nsinit.c | 2 +- drivers/acpi/acpica/nsload.c | 2 +- drivers/acpi/acpica/nsparse.c | 2 +- drivers/acpi/acpica/nspredef.c | 2 +- drivers/acpi/acpica/nsprepkg.c | 2 +- drivers/acpi/acpica/nsrepair.c | 2 +- drivers/acpi/acpica/nsrepair2.c | 2 +- drivers/acpi/acpica/nsutils.c | 2 +- drivers/acpi/acpica/nswalk.c | 2 +- drivers/acpi/acpica/nsxfname.c | 2 +- drivers/acpi/acpica/psargs.c | 2 +- drivers/acpi/acpica/psloop.c | 2 +- drivers/acpi/acpica/psobject.c | 2 +- drivers/acpi/acpica/psopcode.c | 2 +- drivers/acpi/acpica/psopinfo.c | 2 +- drivers/acpi/acpica/psparse.c | 2 +- drivers/acpi/acpica/psscope.c | 2 +- drivers/acpi/acpica/pstree.c | 2 +- drivers/acpi/acpica/psutils.c | 2 +- drivers/acpi/acpica/pswalk.c | 2 +- drivers/acpi/acpica/psxface.c | 2 +- drivers/acpi/acpica/tbdata.c | 2 +- drivers/acpi/acpica/tbfadt.c | 2 +- drivers/acpi/acpica/tbfind.c | 2 +- drivers/acpi/acpica/tbinstal.c | 2 +- drivers/acpi/acpica/tbprint.c | 2 +- drivers/acpi/acpica/tbutils.c | 2 +- drivers/acpi/acpica/tbxface.c | 2 +- drivers/acpi/acpica/tbxfload.c | 2 +- drivers/acpi/acpica/tbxfroot.c | 2 +- drivers/acpi/acpica/utaddress.c | 2 +- drivers/acpi/acpica/utalloc.c | 2 +- drivers/acpi/acpica/utascii.c | 2 +- drivers/acpi/acpica/utbuffer.c | 2 +- drivers/acpi/acpica/utcache.c | 2 +- drivers/acpi/acpica/utcksum.c | 2 +- drivers/acpi/acpica/utcopy.c | 2 +- drivers/acpi/acpica/utdebug.c | 2 +- drivers/acpi/acpica/utdecode.c | 2 +- drivers/acpi/acpica/uteval.c | 2 +- drivers/acpi/acpica/utglobal.c | 2 +- drivers/acpi/acpica/uthex.c | 2 +- drivers/acpi/acpica/utids.c | 2 +- drivers/acpi/acpica/utinit.c | 2 +- drivers/acpi/acpica/utlock.c | 2 +- drivers/acpi/acpica/utobject.c | 2 +- drivers/acpi/acpica/utosi.c | 2 +- drivers/acpi/acpica/utpredef.c | 2 +- drivers/acpi/acpica/utprint.c | 2 +- drivers/acpi/acpica/uttrack.c | 2 +- drivers/acpi/acpica/utuuid.c | 2 +- drivers/acpi/acpica/utxface.c | 2 +- drivers/acpi/acpica/utxfinit.c | 2 +- include/acpi/acbuffer.h | 2 +- include/acpi/acconfig.h | 2 +- include/acpi/acexcep.h | 2 +- include/acpi/acnames.h | 2 +- include/acpi/acoutput.h | 2 +- include/acpi/acpi.h | 2 +- include/acpi/acpiosxf.h | 2 +- include/acpi/acpixf.h | 2 +- include/acpi/acrestyp.h | 2 +- include/acpi/actbl.h | 2 +- include/acpi/actbl1.h | 2 +- include/acpi/actbl2.h | 2 +- include/acpi/actbl3.h | 2 +- include/acpi/actypes.h | 2 +- include/acpi/acuuid.h | 2 +- include/acpi/platform/acenv.h | 2 +- include/acpi/platform/acenvex.h | 2 +- include/acpi/platform/acgcc.h | 2 +- include/acpi/platform/acgccex.h | 2 +- include/acpi/platform/aclinux.h | 2 +- include/acpi/platform/aclinuxex.h | 2 +- include/acpi/platform/aczephyr.h | 2 +- tools/power/acpi/common/cmfsize.c | 2 +- tools/power/acpi/common/getopt.c | 2 +- tools/power/acpi/os_specific/service_layers/oslinuxtbl.c | 2 +- tools/power/acpi/os_specific/service_layers/osunixdir.c | 2 +- tools/power/acpi/os_specific/service_layers/osunixmap.c | 2 +- tools/power/acpi/os_specific/service_layers/osunixxf.c | 2 +- tools/power/acpi/tools/acpidump/acpidump.h | 2 +- tools/power/acpi/tools/acpidump/apdump.c | 2 +- tools/power/acpi/tools/acpidump/apfiles.c | 2 +- tools/power/acpi/tools/acpidump/apmain.c | 2 +- 175 files changed, 176 insertions(+), 176 deletions(-)
drivers/acpi/acpica/acapps.h +2 -2
@@ -3,7 +3,7 @@* * Module Name: acapps - common include for ACPI applications/tools * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
@@ -17,7 +17,7 @@/* Common info for tool signons */ #define ACPICA_NAME "Intel ACPI Component Architecture" -#define ACPICA_COPYRIGHT "Copyright (c) 2000 - 2025 Intel Corporation" +#define ACPICA_COPYRIGHT "Copyright (c) 2000 - 2026 Intel Corporation"#if ACPI_MACHINE_WIDTH ==64 #define ACPI_WIDTH " (64-bit version)"
drivers/acpi/acpica/accommon.h +1 -1
@@ -3,7 +3,7 @@* * Name: accommon.h - Common include files for generation of ACPICA source * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/acconvert.h +1 -1
@@ -3,7 +3,7 @@* * Module Name: acapps - common include for ACPI applications/tools * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/acdebug.h +1 -1
@@ -3,7 +3,7 @@* * Name: acdebug.h - ACPI/AML debugger * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/acdispat.h +1 -1
@@ -3,7 +3,7 @@* * Name: acdispat.h - dispatcher (parser to interpreter interface) * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/acevents.h +1 -1
@@ -3,7 +3,7 @@* * Name: acevents.h - Event subcomponent prototypes and defines * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/acglobal.h +1 -1
@@ -3,7 +3,7 @@* * Name: acglobal.h - Declarations for global variables * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/achware.h +1 -1
@@ -3,7 +3,7 @@* * Name: achware.h -- hardware specific interfaces * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/acinterp.h +1 -1
@@ -3,7 +3,7 @@* * Name: acinterp.h - Interpreter subcomponent prototypes and defines * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/aclocal.h +1 -1
@@ -3,7 +3,7 @@* * Name: aclocal.h - Internal data types used across the ACPI subsystem * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/acmacros.h +1 -1
@@ -3,7 +3,7 @@* * Name: acmacros.h - C macros for the entire subsystem. * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/acnamesp.h +1 -1
@@ -3,7 +3,7 @@* * Name: acnamesp.h - Namespace subcomponent prototypes and defines * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/acobject.h +1 -1
@@ -3,7 +3,7 @@* * Name: acobject.h - Definition of union acpi_operand_object (Internal object only) * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/acopcode.h +1 -1
@@ -3,7 +3,7 @@* * Name: acopcode.h - AML opcode information for the AML parser and interpreter * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/acparser.h +1 -1
@@ -3,7 +3,7 @@* * Module Name: acparser.h - AML Parser subcomponent prototypes and defines * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/acpredef.h +1 -1
@@ -3,7 +3,7 @@* * Name: acpredef - Information table for ACPI predefined methods and objects * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/acresrc.h +1 -1
@@ -3,7 +3,7 @@* * Name: acresrc.h - Resource Manager function prototypes * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/acstruct.h +1 -1
@@ -3,7 +3,7 @@* * Name: acstruct.h - Internal structs * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/actables.h +1 -1
@@ -3,7 +3,7 @@* * Name: actables.h - ACPI table management * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/acutils.h +1 -1
@@ -3,7 +3,7 @@* * Name: acutils.h -- prototypes for the common (subsystem-wide) procedures * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/amlcode.h +1 -1
@@ -5,7 +5,7 @@* Declarations and definitions contained herein are derived * directly from the ACPI specification. * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/amlresrc.h +1 -1
@@ -3,7 +3,7 @@* * Module Name: amlresrc.h - AML resource descriptors * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/dbhistry.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: dbhistry - debugger HISTORY command * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/dsargs.c +1 -1
@@ -4,7 +4,7 @@* Module Name: dsargs - Support for execution of dynamic arguments for static * objects (regions, fields, buffer fields, etc.) * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/dscontrol.c +1 -1
@@ -4,7 +4,7 @@* Module Name: dscontrol - Support for execution control opcodes - * if/else/while/return * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/dsdebug.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: dsdebug - Parser/Interpreter interface - debugging * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/dsfield.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: dsfield - Dispatcher field routines * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/dsinit.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: dsinit - Object initialization namespace walk * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/dsmethod.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: dsmethod - Parser/Interpreter interface - control method parsing * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/dsobject.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: dsobject - Dispatcher object management routines * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/dsopcode.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: dsopcode - Dispatcher support for regions and fields * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/dspkginit.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: dspkginit - Completion of deferred package initialization * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/dswexec.c +1 -1
@@ -4,7 +4,7 @@* Module Name: dswexec - Dispatcher method execution callbacks; * dispatch to interpreter. * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/dswload.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: dswload - Dispatcher first pass namespace load callbacks * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/dswload2.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: dswload2 - Dispatcher second pass namespace load callbacks * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/dswscope.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: dswscope - Scope stack manipulation * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/dswstate.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: dswstate - Dispatcher parse tree walk management routines * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/evevent.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: evevent - Fixed Event handling and dispatch * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/evglock.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: evglock - Global Lock support * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/evgpe.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: evgpe - General Purpose Event handling and dispatch * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/evgpeblk.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: evgpeblk - GPE block creation and initialization. * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/evgpeinit.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: evgpeinit - System GPE initialization and update * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/evgpeutil.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: evgpeutil - GPE utilities * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/evhandler.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: evhandler - Support for Address Space handlers * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/evmisc.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: evmisc - Miscellaneous event manager support functions * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/evregion.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: evregion - Operation Region support * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/evrgnini.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: evrgnini- ACPI address_space (op_region) init * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/evxface.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: evxface - External interfaces for ACPI events * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/evxfevnt.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: evxfevnt - External Interfaces, ACPI event disable/enable * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/evxfgpe.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: evxfgpe - External Interfaces for General Purpose Events (GPEs) * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/evxfregn.c +1 -1
@@ -4,7 +4,7 @@* Module Name: evxfregn - External Interfaces, ACPI Operation Regions and * Address Spaces. * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/exconcat.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: exconcat - Concatenate-type AML operators * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/exconfig.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: exconfig - Namespace reconfiguration (Load/Unload opcodes) * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/exconvrt.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: exconvrt - Object conversion routines * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/excreate.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: excreate - Named object creation * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/exdebug.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: exdebug - Support for stores to the AML Debug Object * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/exdump.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: exdump - Interpreter debug output routines * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/exfield.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: exfield - AML execution - field_unit read/write * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/exfldio.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: exfldio - Aml Field I/O * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/exmisc.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: exmisc - ACPI AML (p-code) execution - specific opcodes * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/exmutex.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: exmutex - ASL Mutex Acquire/Release functions * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/exnames.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: exnames - interpreter/scanner name load/execute * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/exoparg1.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: exoparg1 - AML execution - opcodes with 1 argument * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/exoparg2.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: exoparg2 - AML execution - opcodes with 2 arguments * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/exoparg3.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: exoparg3 - AML execution - opcodes with 3 arguments * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/exoparg6.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: exoparg6 - AML execution - opcodes with 6 arguments * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/exprep.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: exprep - ACPI AML field prep utilities * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/exregion.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: exregion - ACPI default op_region (address space) handlers * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/exresnte.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: exresnte - AML Interpreter object resolution * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/exresolv.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: exresolv - AML Interpreter object resolution * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/exresop.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: exresop - AML Interpreter operand/object resolution * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/exserial.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: exserial - field_unit support for serial address spaces * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/exstore.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: exstore - AML Interpreter object store support * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/exstoren.c +1 -1
@@ -4,7 +4,7 @@* Module Name: exstoren - AML Interpreter object store support, * Store to Node (namespace object) * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/exstorob.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: exstorob - AML object store support, store to object * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/exsystem.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: exsystem - Interface to OS services * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/extrace.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: extrace - Support for interpreter execution tracing * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/exutils.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: exutils - interpreter/scanner utilities * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/hwacpi.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: hwacpi - ACPI Hardware Initialization/Mode Interface * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/hwesleep.c +1 -1
@@ -4,7 +4,7 @@* Name: hwesleep.c - ACPI Hardware Sleep/Wake Support functions for the * extended FADT-V5 sleep registers. * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/hwgpe.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: hwgpe - Low level GPE enable/disable/clear functions * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/hwsleep.c +1 -1
@@ -4,7 +4,7 @@* Name: hwsleep.c - ACPI Hardware Sleep/Wake Support functions for the * original/legacy sleep/PM registers. * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/hwtimer.c +1 -1
@@ -3,7 +3,7 @@* * Name: hwtimer.c - ACPI Power Management Timer Interface * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/hwvalid.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: hwvalid - I/O request validation * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/hwxface.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: hwxface - Public ACPICA hardware interfaces * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/hwxfsleep.c +1 -1
@@ -3,7 +3,7 @@* * Name: hwxfsleep.c - ACPI Hardware Sleep/Wake External Interfaces * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/nsarguments.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: nsarguments - Validation of args for ACPI predefined methods * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/nsconvert.c +1 -1
@@ -4,7 +4,7 @@* Module Name: nsconvert - Object conversions for objects returned by * predefined methods * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/nsdump.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: nsdump - table dumping routines for debug * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/nsdumpdv.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: nsdump - table dumping routines for debug * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/nsinit.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: nsinit - namespace initialization * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/nsload.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: nsload - namespace loading/expanding/contracting procedures * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/nsparse.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: nsparse - namespace interface to AML parser * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/nspredef.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: nspredef - Validation of ACPI predefined methods and objects * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/nsprepkg.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: nsprepkg - Validation of package objects for predefined names * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/nsrepair.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: nsrepair - Repair for objects returned by predefined methods * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/nsrepair2.c +1 -1
@@ -4,7 +4,7 @@* Module Name: nsrepair2 - Repair for objects returned by specific * predefined methods * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/nsutils.c +1 -1
@@ -4,7 +4,7 @@* Module Name: nsutils - Utilities for accessing ACPI namespace, accessing * parents and siblings and Scope manipulation * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/nswalk.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: nswalk - Functions for walking the ACPI namespace * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/nsxfname.c +1 -1
@@ -4,7 +4,7 @@* Module Name: nsxfname - Public interfaces to the ACPI subsystem * ACPI Namespace oriented interfaces * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/psargs.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: psargs - Parse AML opcode arguments * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/psloop.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: psloop - Main AML parse loop * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/psobject.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: psobject - Support for parse objects * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/psopcode.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: psopcode - Parser/Interpreter opcode information table * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/psopinfo.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: psopinfo - AML opcode information functions and dispatch tables * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/psparse.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: psparse - Parser top level AML parse routines * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/psscope.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: psscope - Parser scope stack management routines * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/pstree.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: pstree - Parser op tree manipulation/traversal/search * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/psutils.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: psutils - Parser miscellaneous utilities (Parser only) * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/pswalk.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: pswalk - Parser routines to walk parsed op tree(s) * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/psxface.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: psxface - Parser external interfaces * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/tbdata.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: tbdata - Table manager data structure functions * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/tbfadt.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: tbfadt - FADT table utilities * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/tbfind.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: tbfind - find table * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/tbinstal.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: tbinstal - ACPI table installation and removal * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/tbprint.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: tbprint - Table output utilities * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/tbutils.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: tbutils - ACPI Table utilities * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/tbxface.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: tbxface - ACPI table-oriented external interfaces * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/tbxfload.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: tbxfload - Table load/unload external interfaces * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/tbxfroot.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: tbxfroot - Find the root ACPI table (RSDT) * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/utaddress.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: utaddress - op_region address range check * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/utalloc.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: utalloc - local memory allocation routines * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/utascii.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: utascii - Utility ascii functions * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/utbuffer.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: utbuffer - Buffer dump routines * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/utcache.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: utcache - local cache allocation routines * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/utcksum.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: utcksum - Support generating table checksums * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/utcopy.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: utcopy - Internal to external object translation utilities * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/utdebug.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: utdebug - Debug print/trace routines * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/utdecode.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: utdecode - Utility decoding routines (value-to-string) * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/uteval.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: uteval - Object evaluation * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/utglobal.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: utglobal - Global variables for the ACPI subsystem * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/uthex.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: uthex -- Hex/ASCII support functions * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/utids.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: utids - support for device Ids - HID, UID, CID, SUB, CLS * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/utinit.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: utinit - Common ACPI subsystem initialization * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/utlock.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: utlock - Reader/Writer lock interfaces * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/utobject.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: utobject - ACPI object create/delete/size/cache routines * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/utosi.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: utosi - Support for the _OSI predefined control method * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/utpredef.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: utpredef - support functions for predefined names * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/utprint.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: utprint - Formatted printing routines * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/uttrack.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: uttrack - Memory allocation tracking routines (debug only) * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/utuuid.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: utuuid -- UUID support functions * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/utxface.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: utxface - External interfaces, miscellaneous utility functions * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
drivers/acpi/acpica/utxfinit.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: utxfinit - External interfaces for ACPICA initialization * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
include/acpi/acbuffer.h +1 -1
@@ -3,7 +3,7 @@* * Name: acbuffer.h - Support for buffers returned by ACPI predefined names * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
include/acpi/acconfig.h +1 -1
@@ -3,7 +3,7 @@* * Name: acconfig.h - Global configuration constants * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
include/acpi/acexcep.h +1 -1
@@ -3,7 +3,7 @@* * Name: acexcep.h - Exception codes returned by the ACPI subsystem * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
include/acpi/acnames.h +1 -1
@@ -3,7 +3,7 @@* * Name: acnames.h - Global names and strings * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
include/acpi/acoutput.h +1 -1
@@ -3,7 +3,7 @@* * Name: acoutput.h -- debug output * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
include/acpi/acpi.h +1 -1
@@ -3,7 +3,7 @@* * Name: acpi.h - Master public include file used to interface to ACPICA * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
include/acpi/acpiosxf.h +1 -1
@@ -5,7 +5,7 @@* interfaces must be implemented by OSL to interface the * ACPI components to the host operating system. * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
include/acpi/acpixf.h +1 -1
@@ -3,7 +3,7 @@* * Name: acpixf.h - External interfaces to the ACPI subsystem * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
include/acpi/acrestyp.h +1 -1
@@ -3,7 +3,7 @@* * Name: acrestyp.h - Defines, types, and structures for resource descriptors * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
include/acpi/actbl.h +1 -1
@@ -3,7 +3,7 @@* * Name: actbl.h - Basic ACPI Table Definitions * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
include/acpi/actbl1.h +1 -1
@@ -3,7 +3,7 @@* * Name: actbl1.h - Additional ACPI table definitions * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
include/acpi/actbl2.h +1 -1
@@ -3,7 +3,7 @@* * Name: actbl2.h - ACPI Table Definitions * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
include/acpi/actbl3.h +1 -1
@@ -3,7 +3,7 @@* * Name: actbl3.h - ACPI Table Definitions * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
include/acpi/actypes.h +1 -1
@@ -3,7 +3,7 @@* * Name: actypes.h - Common data types for the entire ACPI subsystem * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
include/acpi/acuuid.h +1 -1
@@ -3,7 +3,7 @@* * Name: acuuid.h - ACPI-related UUID/GUID definitions * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
include/acpi/platform/acenv.h +1 -1
@@ -3,7 +3,7 @@* * Name: acenv.h - Host and compiler configuration * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
include/acpi/platform/acenvex.h +1 -1
@@ -3,7 +3,7 @@* * Name: acenvex.h - Extra host and compiler configuration * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
include/acpi/platform/acgcc.h +1 -1
@@ -3,7 +3,7 @@* * Name: acgcc.h - GCC specific defines, etc. * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
include/acpi/platform/acgccex.h +1 -1
@@ -3,7 +3,7 @@* * Name: acgccex.h - Extra GCC specific defines, etc. * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
include/acpi/platform/aclinux.h +1 -1
@@ -3,7 +3,7 @@* * Name: aclinux.h - OS specific defines, etc. for Linux * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
include/acpi/platform/aclinuxex.h +1 -1
@@ -3,7 +3,7 @@* * Name: aclinuxex.h - Extra OS specific defines, etc. for Linux * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
include/acpi/platform/aczephyr.h +1 -1
@@ -3,7 +3,7 @@* * Module Name: aczephyr.h - OS specific defines, etc. * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
tools/power/acpi/common/cmfsize.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: cmfsize - Common get file size function * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
tools/power/acpi/common/getopt.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: getopt * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
tools/power/acpi/os_specific/service_layers/oslinuxtbl.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: oslinuxtbl - Linux OSL for obtaining ACPI tables * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
tools/power/acpi/os_specific/service_layers/osunixdir.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: osunixdir - Unix directory access interfaces * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
tools/power/acpi/os_specific/service_layers/osunixmap.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: osunixmap - Unix OSL for file mappings * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
tools/power/acpi/os_specific/service_layers/osunixxf.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: osunixxf - UNIX OSL interfaces * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
tools/power/acpi/tools/acpidump/acpidump.h +1 -1
@@ -3,7 +3,7 @@* * Module Name: acpidump.h - Include file for acpi_dump utility * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
tools/power/acpi/tools/acpidump/apdump.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: apdump - Dump routines for ACPI tables (acpidump) * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
tools/power/acpi/tools/acpidump/apfiles.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: apfiles - File-related functions for acpidump utility * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
tools/power/acpi/tools/acpidump/apmain.c +1 -1
@@ -3,7 +3,7 @@* * Module Name: apmain - Main module for the acpidump utility * -* Copyright (C) 2000 - 2025, Intel Corp. +* Copyright (C) 2000 - 2026, Intel Corp. * *****************************************************************************/
Signature · 1 line
2.51.0
Rafael J. Wysocki
maintainerPATCH 25/27 ACPICA: Update version to 20260408
In reply to Rafael J. WysockiFrom: Saket Dumbre <[email protected]>
Update ACPI_CA_VERSION to match the 20260408 upstream release.
--- include/acpi/acpixf.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
include/acpi/acpixf.h +1 -1
@@ -12,7 +12,7 @@/* Current ACPICA subsystem version in YYYYMMDD format */ -#define ACPI_CA_VERSION 0x20251212 +#define ACPI_CA_VERSION 0x20260408#include <acpi/acconfig.h> #include <acpi/actypes.h>
Signature · 1 line
2.51.0
Rafael J. Wysocki
maintainerPATCH 26/27 ACPICA: Add package limit checks in parser functions
In reply to Rafael J. WysockiFrom: ikaros <[email protected]>
Add package limit checks in parser functions to prevent out-of-bounds access.
--- drivers/acpi/acpica/nsxfname.c | 4 ++++ drivers/acpi/acpica/psargs.c | 4 ++++ drivers/acpi/acpica/psloop.c | 25 +++++++++++++++++++++++++ drivers/acpi/acpica/psparse.c | 8 ++++++++ 4 files changed, 41 insertions(+)
drivers/acpi/acpica/nsxfname.c +4 -0
@@ -512,6 +512,10 @@ acpi_status acpi_install_method(u8 *buffer) parser_state.aml +=acpi_ps_get_opcode_size (opcode); parser_state.pkg_end =acpi_ps_get_next_package_end (&parser_state); +if ((parser_state.pkg_end > parser_state.aml_end) || + (parser_state.pkg_end < parser_state.aml)) { +return (AE_AML_PACKAGE_LIMIT ); + } path =acpi_ps_get_next_namestring (&parser_state); method_flags = *parser_state.aml++;
drivers/acpi/acpica/psargs.c +4 -0
@@ -867,6 +867,10 @@ acpi_ps_get_next_arg(struct acpi_walk_state *walk_state, parser_state->pkg_end =acpi_ps_get_next_package_end (parser_state); +if ((parser_state->pkg_end > parser_state->aml_end) + || (parser_state->pkg_end < parser_state->aml)) { +return_ACPI_STATUS (AE_AML_PACKAGE_LIMIT ); + }break ;case ARGP_FIELDLIST :
drivers/acpi/acpica/psloop.c +25 -0
@@ -361,6 +361,13 @@ acpi_status acpi_ps_parse_loop(struct acpi_walk_state *walk_state) walk_state->parser_state.aml =acpi_ps_get_next_package_end (&walk_state->parser_state); +if ((walk_state->parser_state.aml > + walk_state->parser_state.aml_end) + || (walk_state->parser_state.aml < + walk_state->aml)) { +return_ACPI_STATUS + (AE_AML_PACKAGE_LIMIT ); + } walk_state->aml = walk_state->parser_state.aml; }
@@ -421,6 +428,14 @@ acpi_status acpi_ps_parse_loop(struct acpi_walk_state *walk_state) parser_state->aml =acpi_ps_get_next_package_end (parser_state); +if ((parser_state->aml > + parser_state->aml_end) + || (parser_state->aml < + walk_state->control_state-> + control.aml_predicate_start)) { +return_ACPI_STATUS + (AE_AML_PACKAGE_LIMIT ); + } walk_state->aml = parser_state->aml; ACPI_ERROR((AE_INFO,
@@ -436,6 +451,16 @@ acpi_status acpi_ps_parse_loop(struct acpi_walk_state *walk_state) walk_state->parser_state.aml =acpi_ps_get_next_package_end (parser_state); +if ((walk_state->parser_state. + aml > + walk_state->parser_state. + aml_end) + || (walk_state-> + parser_state.aml < + walk_state->aml)) { +return_ACPI_STATUS + (AE_AML_PACKAGE_LIMIT ); + } walk_state->aml = parser_state->aml; }
drivers/acpi/acpica/psparse.c +8 -0
@@ -300,6 +300,7 @@ acpi_ps_next_parse_state(struct acpi_walk_state *walk_state, {struct acpi_parse_state *parser_state = &walk_state->parser_state;acpi_status status =AE_CTRL_PENDING ; +u8 *aml;ACPI_FUNCTION_TRACE_PTR (ps_next_parse_state, op);
@@ -344,7 +345,14 @@ acpi_ps_next_parse_state(struct acpi_walk_state *walk_state,* Predicate of an IF was true, and we are at the matching ELSE. * Just close out this package */ + aml = parser_state->aml; + parser_state->aml =acpi_ps_get_next_package_end (parser_state); +if ((parser_state->aml > parser_state->aml_end) || + (parser_state->aml < aml)) { + status =AE_AML_PACKAGE_LIMIT ; +break ; + } status =AE_CTRL_PENDING ;break ;
Signature · 1 line
2.51.0
Rafael J. Wysocki
maintainerPATCH 27/27 ACPICA: add boundary checks in two places
In reply to Rafael J. WysockiFrom: ikaros <[email protected]>
Add boundary checks in acpi_ps_get_next_namestring() and acpi_ps_peek_opcode() to prevent out-of-bounds access.
--- drivers/acpi/acpica/psargs.c | 18 +++++++++++++++++- drivers/acpi/acpica/psparse.c | 6 ++++++ 2 files changed, 23 insertions(+), 1 deletion(-)
drivers/acpi/acpica/psargs.c +17 -1
@@ -148,10 +148,16 @@ char *acpi_ps_get_next_namestring(struct acpi_parse_state *parser_state)/* Point past any namestring prefix characters (backslash or carat) */ -while (ACPI_IS_ROOT_PREFIX (*end) ||ACPI_IS_PARENT_PREFIX (*end)) { +while (end < parser_state->aml_end && + (ACPI_IS_ROOT_PREFIX (*end) ||ACPI_IS_PARENT_PREFIX (*end))) { end++; } +if (end >= parser_state->aml_end) { + parser_state->aml = parser_state->aml_end; +return_PTR (NULL ); + } +/* Decode the path prefix character */ switch (*end) {
@@ -176,6 +182,11 @@ char *acpi_ps_get_next_namestring(struct acpi_parse_state *parser_state)/* Multiple name segments, 4 chars each, count in next byte */ +if ((end +1 ) >= parser_state->aml_end) { + parser_state->aml = parser_state->aml_end; +return_PTR (NULL ); + } + end +=2 + (*(end +1 ) *ACPI_NAMESEG_SIZE );break ;
@@ -187,6 +198,11 @@ char *acpi_ps_get_next_namestring(struct acpi_parse_state *parser_state)break ; } +if (end > parser_state->aml_end) { + parser_state->aml = parser_state->aml_end; +return_PTR (NULL ); + } + parser_state->aml = end;return_PTR ((char *)start); }
drivers/acpi/acpica/psparse.c +6 -0
@@ -70,6 +70,9 @@ u16 acpi_ps_peek_opcode(struct acpi_parse_state * parser_state)u16 opcode; aml = parser_state->aml; +if (aml >= parser_state->aml_end) { +return (0xFFFF ); + } opcode = (u16 )ACPI_GET8 (aml);if (opcode ==AML_EXTENDED_PREFIX ) {
@@ -77,6 +80,9 @@ u16 acpi_ps_peek_opcode(struct acpi_parse_state * parser_state)/* Extended opcode, get the second opcode byte */ aml++; +if (aml >= parser_state->aml_end) { +return (0xFFFF ); + } opcode = (u16) ((opcode <<8 ) |ACPI_GET8 (aml)); }
Signature · 1 line
2.51.0