]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ACPICA: Prevent adding invalid references
authorikaros <void0red@gmail.com>
Wed, 27 May 2026 18:01:21 +0000 (20:01 +0200)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Wed, 27 May 2026 18:18:45 +0000 (20:18 +0200)
Prevent adding references for local, argument, and debug objects
in acpi_ut_copy_simple_object().

Link: https://github.com/acpica/acpica/commit/f576898d7814
Signed-off-by: ikaros <void0red@gmail.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Link: https://patch.msgid.link/4511989.ejJDZkT8p0@rafael.j.wysocki
drivers/acpi/acpica/utcopy.c

index 80458e70ac2bf6b8b88966e743024061cebdd4ae..9ecf5c3f49ba6a3793ac52b518a0ee59ba037975 100644 (file)
@@ -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: