]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ACPICA: Fix condition check in acpi_ps_parse_loop()
authorikaros <void0red@gmail.com>
Wed, 27 May 2026 17:53:12 +0000 (19:53 +0200)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Wed, 27 May 2026 18:18:44 +0000 (20:18 +0200)
Fix condition check for AML_ELSE_OP in acpi_ps_parse_loop() to prevent
out-of-bounds access.

Link: https://github.com/acpica/acpica/commit/3b537b92336e
Signed-off-by: ikaros <void0red@gmail.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Link: https://patch.msgid.link/1959692.tdWV9SEqCh@rafael.j.wysocki
drivers/acpi/acpica/psloop.c

index c989cadf271ce075218f9cc2590e3e01b1e76483..35111ff2526b1f9e71e10eab08e1cc1697d67924 100644 (file)
@@ -425,7 +425,10 @@ acpi_status acpi_ps_parse_loop(struct acpi_walk_state *walk_state)
 
                                        ACPI_ERROR((AE_INFO,
                                                    "Skipping While/If block"));
-                                       if (*walk_state->aml == AML_ELSE_OP) {
+                                       if ((walk_state->aml <
+                                            parser_state->aml_end)
+                                           && (*walk_state->aml ==
+                                               AML_ELSE_OP)) {
                                                ACPI_ERROR((AE_INFO,
                                                            "Skipping Else block"));
                                                walk_state->parser_state.aml =