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