diff options
| author | Hans de Goede <hansg@kernel.org> | 2025-09-12 22:00:17 +0200 |
|---|---|---|
| committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2025-09-15 12:20:13 +0200 |
| commit | e9dff11a7a50fcef23fe3e8314fafae6d5641826 (patch) | |
| tree | 15fe1f594cee5eff0e6f18c3e0c870adc6b8f455 /drivers/acpi | |
| parent | ACPICA: Debugger: drop ACPI_NONSTRING attribute from name_seg (diff) | |
| download | linux-e9dff11a7a50fcef23fe3e8314fafae6d5641826.tar.gz linux-e9dff11a7a50fcef23fe3e8314fafae6d5641826.zip | |
ACPICA: dispatcher: Use acpi_ds_clear_operands() in acpi_ds_call_control_method()
When deleting the previous walkstate operand stack
acpi_ds_call_control_method() was deleting obj_desc->Method.param_count
operands. But Method.param_count does not necessarily match
this_walk_state->num_operands, it may be either less or more.
After correcting the for loop to check `i < this_walk_state->num_operands`
the code is identical to acpi_ds_clear_operands(), so just outright
replace the code with acpi_ds_clear_operands() to fix this.
Link: https://github.com/acpica/acpica/commit/53fc0220
Signed-off-by: Hans de Goede <hansg@kernel.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'drivers/acpi')
| -rw-r--r-- | drivers/acpi/acpica/dsmethod.c | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/drivers/acpi/acpica/dsmethod.c b/drivers/acpi/acpica/dsmethod.c index fef6fb29ece4..e707a7036802 100644 --- a/drivers/acpi/acpica/dsmethod.c +++ b/drivers/acpi/acpica/dsmethod.c @@ -546,14 +546,7 @@ acpi_ds_call_control_method(struct acpi_thread_state *thread, * Delete the operands on the previous walkstate operand stack * (they were copied to new objects) */ - for (i = 0; i < obj_desc->method.param_count; i++) { - acpi_ut_remove_reference(this_walk_state->operands[i]); - this_walk_state->operands[i] = NULL; - } - - /* Clear the operand stack */ - - this_walk_state->num_operands = 0; + acpi_ds_clear_operands(this_walk_state); ACPI_DEBUG_PRINT((ACPI_DB_DISPATCH, "**** Begin nested execution of [%4.4s] **** WalkState=%p\n", |
