2022-09-02 07:55:05

by Li Zhong

[permalink] [raw]
Subject: [PATCH v1] arch/x86/kernel/acpi: check the return value of mp_find_ioapic()

Check the return value of mp_find_ioapic(), which could be -1. Since
ioapic will be used as index in mpc_ioapic_id(), we should check the
return value ioapic here.

Signed-off-by: Li Zhong <[email protected]>
---
arch/x86/kernel/acpi/boot.c | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c
index 907cc98b1938..687111adfb90 100644
--- a/arch/x86/kernel/acpi/boot.c
+++ b/arch/x86/kernel/acpi/boot.c
@@ -463,6 +463,10 @@ static void mp_config_acpi_gsi(struct device *dev, u32 gsi, int trigger,
mp_irq.srcbus = number;
mp_irq.srcbusirq = (((devfn >> 3) & 0x1f) << 2) | ((pin - 1) & 3);
ioapic = mp_find_ioapic(gsi);
+ if (ioapic < 0) {
+ pr_warn("Failed to find ioapic for gsi : %u\n", gsi);
+ return;
+ }
mp_irq.dstapic = mpc_ioapic_id(ioapic);
mp_irq.dstirq = mp_find_ioapic_pin(ioapic, gsi);

--
2.25.1