Merge branch 'acpica'

Merge ACPICA updates for 7.2-rc1 including the following changes:

 - Add support for the Legacy Virtual Register (LVR) field in I2C serial
   bus resource descriptors to ACPICA (Akhil R)

 - Fix multiple issues related to bounds checks, input validation,
   use-after-free, and integer overflow checks in the AML interpreter
   in ACPICA (ikaros)

 - Update the copyright year to 2026 in ACPICA files and make minor
   changes related to ACPI 6.6 support (Pawel Chmielewski)

 - Remove spurious precision from format used to dump parse trees in
   ACPICA (David Laight)

 - Add modern standby DSM GUIDs to ACPICA header files (Daniel Schaefer)

 - Fix FADT 32/64X length mismatch warning in ACPICA (Abdelkader Boudih)

 - Update D3hot/cold device power states definitions in ACPICA header
   files (Aymeric Wibo)

 - Fix NULL pointer dereference in acpi_ns_custom_package() (Weiming
   Shi)

 - Update ACPICA version to 20260408 (Saket Dumbre)

* acpica: (27 commits)
  ACPICA: add boundary checks in two places
  ACPICA: Add package limit checks in parser functions
  ACPICA: Update version to 20260408
  ACPICA: Update the copyright year to 2026
  ACPICA: Remove spurious precision from format used to dump parse trees
  ACPICA: Enhance OEM ID and Table ID validation in acpi_ex_load_table_op()
  ACPICA: Fix NULL pointer dereference in acpi_ns_custom_package()
  ACPICA: Enhance buffer validation in acpi_ut_walk_aml_resources()
  ACPICA: Add validation for node in acpi_ns_build_normalized_path()
  ACPICA: validate handler object type in two places
  ACPICA: Improve argument parsing in acpi_ps_get_next_simple_arg()
  ACPICA: Fix integer overflow in acpi_ex_opcode_3A_1T_1R() (mid_op)
  ACPICA: Prevent adding invalid references
  ACPICA: add boundary checks in acpi_ps_get_next_field()
  ACPICA: validate byte_count in acpi_ps_get_next_package_length()
  ACPICA: Fix use-after-free in acpi_ds_terminate_control_method()
  ACPICA: fix I2C LVR item count in the conversion table
  ACPICA: Mention the LVR bits
  ACPICA: Change LVR to 8 bit value
  ACPICA: Fetch LVR I2C resource descriptor
  ...
This commit is contained in:
Rafael J. Wysocki
2026-06-11 14:57:55 +02:00
179 changed files with 506 additions and 200 deletions

View File

@@ -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)"

View File

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

View File

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

View File

@@ -3,7 +3,7 @@
*
* Name: acdebug.h - ACPI/AML debugger
*
* Copyright (C) 2000 - 2025, Intel Corp.
* Copyright (C) 2000 - 2026, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Name: acdispat.h - dispatcher (parser to interpreter interface)
*
* Copyright (C) 2000 - 2025, Intel Corp.
* Copyright (C) 2000 - 2026, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Name: acevents.h - Event subcomponent prototypes and defines
*
* Copyright (C) 2000 - 2025, Intel Corp.
* Copyright (C) 2000 - 2026, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Name: acglobal.h - Declarations for global variables
*
* Copyright (C) 2000 - 2025, Intel Corp.
* Copyright (C) 2000 - 2026, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Name: achware.h -- hardware specific interfaces
*
* Copyright (C) 2000 - 2025, Intel Corp.
* Copyright (C) 2000 - 2026, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Name: acinterp.h - Interpreter subcomponent prototypes and defines
*
* Copyright (C) 2000 - 2025, Intel Corp.
* Copyright (C) 2000 - 2026, Intel Corp.
*
*****************************************************************************/

View File

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

View File

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

View File

@@ -3,7 +3,7 @@
*
* Name: acnamesp.h - Namespace subcomponent prototypes and defines
*
* Copyright (C) 2000 - 2025, Intel Corp.
* Copyright (C) 2000 - 2026, Intel Corp.
*
*****************************************************************************/

View File

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

View File

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

View File

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

View File

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

View File

@@ -3,7 +3,7 @@
*
* Name: acresrc.h - Resource Manager function prototypes
*
* Copyright (C) 2000 - 2025, Intel Corp.
* Copyright (C) 2000 - 2026, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Name: acstruct.h - Internal structs
*
* Copyright (C) 2000 - 2025, Intel Corp.
* Copyright (C) 2000 - 2026, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Name: actables.h - ACPI table management
*
* Copyright (C) 2000 - 2025, Intel Corp.
* Copyright (C) 2000 - 2026, Intel Corp.
*
*****************************************************************************/

View File

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

View File

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

View File

@@ -3,7 +3,7 @@
*
* Module Name: amlresrc.h - AML resource descriptors
*
* Copyright (C) 2000 - 2025, Intel Corp.
* Copyright (C) 2000 - 2026, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: dbhistry - debugger HISTORY command
*
* Copyright (C) 2000 - 2025, Intel Corp.
* Copyright (C) 2000 - 2026, Intel Corp.
*
*****************************************************************************/

View File

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

View File

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

View File

@@ -3,7 +3,7 @@
*
* Module Name: dsdebug - Parser/Interpreter interface - debugging
*
* Copyright (C) 2000 - 2025, Intel Corp.
* Copyright (C) 2000 - 2026, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: dsfield - Dispatcher field routines
*
* Copyright (C) 2000 - 2025, Intel Corp.
* Copyright (C) 2000 - 2026, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: dsinit - Object initialization namespace walk
*
* Copyright (C) 2000 - 2025, Intel Corp.
* Copyright (C) 2000 - 2026, Intel Corp.
*
*****************************************************************************/

View File

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

View File

@@ -3,7 +3,7 @@
*
* Module Name: dsobject - Dispatcher object management routines
*
* Copyright (C) 2000 - 2025, Intel Corp.
* Copyright (C) 2000 - 2026, Intel Corp.
*
*****************************************************************************/

View File

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

View File

@@ -3,7 +3,7 @@
*
* Module Name: dspkginit - Completion of deferred package initialization
*
* Copyright (C) 2000 - 2025, Intel Corp.
* Copyright (C) 2000 - 2026, Intel Corp.
*
*****************************************************************************/

View File

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

View File

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

View File

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

View File

@@ -3,7 +3,7 @@
*
* Module Name: dswscope - Scope stack manipulation
*
* Copyright (C) 2000 - 2025, Intel Corp.
* Copyright (C) 2000 - 2026, Intel Corp.
*
*****************************************************************************/

View File

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

View File

@@ -3,7 +3,7 @@
*
* Module Name: evevent - Fixed Event handling and dispatch
*
* Copyright (C) 2000 - 2025, Intel Corp.
* Copyright (C) 2000 - 2026, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: evglock - Global Lock support
*
* Copyright (C) 2000 - 2025, Intel Corp.
* Copyright (C) 2000 - 2026, Intel Corp.
*
*****************************************************************************/

View File

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

View File

@@ -3,7 +3,7 @@
*
* Module Name: evgpeblk - GPE block creation and initialization.
*
* Copyright (C) 2000 - 2025, Intel Corp.
* Copyright (C) 2000 - 2026, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: evgpeinit - System GPE initialization and update
*
* Copyright (C) 2000 - 2025, Intel Corp.
* Copyright (C) 2000 - 2026, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: evgpeutil - GPE utilities
*
* Copyright (C) 2000 - 2025, Intel Corp.
* Copyright (C) 2000 - 2026, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: evhandler - Support for Address Space handlers
*
* Copyright (C) 2000 - 2025, Intel Corp.
* Copyright (C) 2000 - 2026, Intel Corp.
*
*****************************************************************************/
@@ -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 */

View File

@@ -3,7 +3,7 @@
*
* Module Name: evmisc - Miscellaneous event manager support functions
*
* Copyright (C) 2000 - 2025, Intel Corp.
* Copyright (C) 2000 - 2026, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: evregion - Operation Region support
*
* Copyright (C) 2000 - 2025, Intel Corp.
* Copyright (C) 2000 - 2026, Intel Corp.
*
*****************************************************************************/

View File

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

View File

@@ -3,7 +3,7 @@
*
* Module Name: evxface - External interfaces for ACPI events
*
* Copyright (C) 2000 - 2025, Intel Corp.
* Copyright (C) 2000 - 2026, Intel Corp.
*
*****************************************************************************/

View File

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

View File

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

View File

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

View File

@@ -3,7 +3,7 @@
*
* Module Name: exconcat - Concatenate-type AML operators
*
* Copyright (C) 2000 - 2025, Intel Corp.
* Copyright (C) 2000 - 2026, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: exconfig - Namespace reconfiguration (Load/Unload opcodes)
*
* Copyright (C) 2000 - 2025, Intel Corp.
* Copyright (C) 2000 - 2026, Intel Corp.
*
*****************************************************************************/
@@ -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) {

View File

@@ -3,7 +3,7 @@
*
* Module Name: exconvrt - Object conversion routines
*
* Copyright (C) 2000 - 2025, Intel Corp.
* Copyright (C) 2000 - 2026, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: excreate - Named object creation
*
* Copyright (C) 2000 - 2025, Intel Corp.
* Copyright (C) 2000 - 2026, Intel Corp.
*
*****************************************************************************/

View File

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

View File

@@ -3,7 +3,7 @@
*
* Module Name: exdump - Interpreter debug output routines
*
* Copyright (C) 2000 - 2025, Intel Corp.
* Copyright (C) 2000 - 2026, Intel Corp.
*
*****************************************************************************/

View File

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

View File

@@ -3,7 +3,7 @@
*
* Module Name: exfldio - Aml Field I/O
*
* Copyright (C) 2000 - 2025, Intel Corp.
* Copyright (C) 2000 - 2026, Intel Corp.
*
*****************************************************************************/

View File

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

View File

@@ -3,7 +3,7 @@
*
* Module Name: exmutex - ASL Mutex Acquire/Release functions
*
* Copyright (C) 2000 - 2025, Intel Corp.
* Copyright (C) 2000 - 2026, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: exnames - interpreter/scanner name load/execute
*
* Copyright (C) 2000 - 2025, Intel Corp.
* Copyright (C) 2000 - 2026, Intel Corp.
*
*****************************************************************************/

View File

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

View File

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

View File

@@ -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.
*
*****************************************************************************/
@@ -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;

View File

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

View File

@@ -3,7 +3,7 @@
*
* Module Name: exprep - ACPI AML field prep utilities
*
* Copyright (C) 2000 - 2025, Intel Corp.
* Copyright (C) 2000 - 2026, Intel Corp.
*
*****************************************************************************/

View File

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

View File

@@ -3,7 +3,7 @@
*
* Module Name: exresnte - AML Interpreter object resolution
*
* Copyright (C) 2000 - 2025, Intel Corp.
* Copyright (C) 2000 - 2026, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: exresolv - AML Interpreter object resolution
*
* Copyright (C) 2000 - 2025, Intel Corp.
* Copyright (C) 2000 - 2026, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: exresop - AML Interpreter operand/object resolution
*
* Copyright (C) 2000 - 2025, Intel Corp.
* Copyright (C) 2000 - 2026, Intel Corp.
*
*****************************************************************************/

View File

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

View File

@@ -3,7 +3,7 @@
*
* Module Name: exstore - AML Interpreter object store support
*
* Copyright (C) 2000 - 2025, Intel Corp.
* Copyright (C) 2000 - 2026, Intel Corp.
*
*****************************************************************************/

View File

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

View File

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

View File

@@ -3,7 +3,7 @@
*
* Module Name: exsystem - Interface to OS services
*
* Copyright (C) 2000 - 2025, Intel Corp.
* Copyright (C) 2000 - 2026, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: extrace - Support for interpreter execution tracing
*
* Copyright (C) 2000 - 2025, Intel Corp.
* Copyright (C) 2000 - 2026, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: exutils - interpreter/scanner utilities
*
* Copyright (C) 2000 - 2025, Intel Corp.
* Copyright (C) 2000 - 2026, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: hwacpi - ACPI Hardware Initialization/Mode Interface
*
* Copyright (C) 2000 - 2025, Intel Corp.
* Copyright (C) 2000 - 2026, Intel Corp.
*
*****************************************************************************/

View File

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

View File

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

View File

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

View File

@@ -3,7 +3,7 @@
*
* Name: hwtimer.c - ACPI Power Management Timer Interface
*
* Copyright (C) 2000 - 2025, Intel Corp.
* Copyright (C) 2000 - 2026, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: hwvalid - I/O request validation
*
* Copyright (C) 2000 - 2025, Intel Corp.
* Copyright (C) 2000 - 2026, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: hwxface - Public ACPICA hardware interfaces
*
* Copyright (C) 2000 - 2025, Intel Corp.
* Copyright (C) 2000 - 2026, Intel Corp.
*
*****************************************************************************/

View File

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

View File

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

View File

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

View File

@@ -3,7 +3,7 @@
*
* Module Name: nsdump - table dumping routines for debug
*
* Copyright (C) 2000 - 2025, Intel Corp.
* Copyright (C) 2000 - 2026, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: nsdump - table dumping routines for debug
*
* Copyright (C) 2000 - 2025, Intel Corp.
* Copyright (C) 2000 - 2026, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: nsinit - namespace initialization
*
* Copyright (C) 2000 - 2025, Intel Corp.
* Copyright (C) 2000 - 2026, Intel Corp.
*
*****************************************************************************/

View File

@@ -3,7 +3,7 @@
*
* Module Name: nsload - namespace loading/expanding/contracting procedures
*
* Copyright (C) 2000 - 2025, Intel Corp.
* Copyright (C) 2000 - 2026, Intel Corp.
*
*****************************************************************************/

View File

@@ -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) {

View File

@@ -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;
}

View File

@@ -3,7 +3,7 @@
*
* Module Name: nsparse - namespace interface to AML parser
*
* Copyright (C) 2000 - 2025, Intel Corp.
* Copyright (C) 2000 - 2026, Intel Corp.
*
*****************************************************************************/

View File

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

View File

@@ -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.
*
*****************************************************************************/
@@ -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,

View File

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

View File

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

View File

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

Some files were not shown because too many files have changed in this diff Show More