diff mbox series

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

Message ID 20220902075053.2212595-1-floridsleeves@gmail.com
State New
Headers show
Series [v1] arch/x86/kernel/acpi: check the return value of mp_find_ioapic() | expand

Commit Message

Li Zhong Sept. 2, 2022, 7:50 a.m. UTC
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 <floridsleeves@gmail.com>
---
 arch/x86/kernel/acpi/boot.c | 4 ++++
 1 file changed, 4 insertions(+)
diff mbox series

Patch

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);