Skip to content

Commit 1cdfe9e

Browse files
committed
ACPICA: Utilities: Avoid deleting the same object twice in a row
ACPICA commit c11af67d8f7e3d381068ce7771322f2b5324d687 If original_count is 0 in acpi_ut_update_ref_count (), acpi_ut_delete_internal_obj () is invoked for the target object, which is incorrect, because that object has been deleted once already and the memory allocated to store it may have been reclaimed and allocated for a different purpose by the host OS. Moreover, a confusing debug message following the "Reference Count is already zero, cannot decrement" warning is printed in that case. To fix this issue, make acpi_ut_update_ref_count () return after finding that original_count is 0 and printing the above warning. Link: acpica/acpica@c11af67d Link: acpica/acpica#652 Reported-by: Mark Asselstine <mark.asselstine@windriver.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Signed-off-by: Bob Moore <robert.moore@intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
1 parent 00395b7 commit 1cdfe9e

1 file changed

Lines changed: 1 addition & 0 deletions

File tree

drivers/acpi/acpica/utdelete.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -422,6 +422,7 @@ acpi_ut_update_ref_count(union acpi_operand_object *object, u32 action)
422422
ACPI_WARNING((AE_INFO,
423423
"Obj %p, Reference Count is already zero, cannot decrement\n",
424424
object));
425+
return;
425426
}
426427

427428
ACPI_DEBUG_PRINT_RAW((ACPI_DB_ALLOCATIONS,

0 commit comments

Comments
 (0)