From b1fe00fa1eb9355dd87d5d5760ef1e5d9b68d2cc Mon Sep 17 00:00:00 2001 From: liwenxiang1 Date: Tue, 18 Mar 2025 22:00:13 +0800 Subject: [PATCH] arch/acpi:Fix issue 02 Compile acpidump crash problem At certain optimization levels, GCC/Clang may insert UD2 if it detects undefined behavior (such as integer overflow or illegal pointer access), causing the program to crash immediately instead of executing unpredictable code. Signed-off-by: liwenxiang1 --- arch/x86_64/src/common/x86_64_acpi.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/arch/x86_64/src/common/x86_64_acpi.c b/arch/x86_64/src/common/x86_64_acpi.c index ab6179d1d68..1c3747c600b 100644 --- a/arch/x86_64/src/common/x86_64_acpi.c +++ b/arch/x86_64/src/common/x86_64_acpi.c @@ -835,10 +835,13 @@ void acpi_dump(void) break; } - acpi_info("Found LAPIC for CPU %d %p", i, lapic); - acpi_info(" ACPI ID %d", lapic->acpi_id); - acpi_info(" APIC ID %d", lapic->apic_id); - acpi_info(" flags %d", lapic->flags); + if (lapic != NULL) + { + acpi_info("Found LAPIC for CPU %d %p", i, lapic); + acpi_info(" ACPI ID %d", lapic->acpi_id); + acpi_info(" APIC ID %d", lapic->apic_id); + acpi_info(" flags %d", lapic->flags); + } /* IO_APIC */