]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ACPICA: ACPICA: replace ACPI_FREE() with acpi_ut_delete_object_desc()
authorZilin Guan <zilin@seu.edu.cn>
Wed, 14 Jan 2026 12:17:36 +0000 (13:17 +0100)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 15 Jan 2026 17:17:47 +0000 (18:17 +0100)
acpi_ut_create_internal_object() may allocate memory from a slab cache
via kmem_cache_zalloc(), but the code currently frees it with ACPI_FREE(),
which calls kfree().

This mismatch prevents the object from being released properly and may
lead to memory leaks or other issues.

Fix this by replacing ACPI_FREE() with acpi_ut_delete_object_desc(),
which matches the allocation method used for internal objects.

Link: https://github.com/acpica/acpica/commit/a1c55dfea194
Signed-off-by: Zilin Guan <zilin@seu.edu.cn>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Link: https://patch.msgid.link/4710853.LvFx2qVVIh@rafael.j.wysocki
drivers/acpi/acpica/nsxfname.c
drivers/acpi/acpica/utobject.c

index 1db831545ec8c5cbf7ceccc14d4ae0b57dc1dcd3..b6895a48ae683f45a2feab8902b41aed48a8b6e3 100644 (file)
@@ -601,7 +601,7 @@ acpi_status acpi_install_method(u8 *buffer)
 error_exit:
 
        ACPI_FREE(aml_buffer);
-       ACPI_FREE(method_obj);
+       acpi_ut_delete_object_desc(method_obj);
        return (status);
 }
 ACPI_EXPORT_SYMBOL(acpi_install_method)
index 272e462082639cca3183ac55a7ed37e96963d2ba..8362204b57b5aa9dbe63a09d2dc0fee1ec0707bb 100644 (file)
@@ -148,7 +148,7 @@ union acpi_operand_object *acpi_ut_create_package_object(u32 count)
        package_elements = ACPI_ALLOCATE_ZEROED(((acpi_size)count +
                                                 1) * sizeof(void *));
        if (!package_elements) {
-               ACPI_FREE(package_desc);
+               acpi_ut_delete_object_desc(package_desc);
                return_PTR(NULL);
        }