Commit 4f506e07 authored by Arnaud Patard's avatar Arnaud Patard Committed by David Woodhouse

intel-iommu: Fix boot inside 64bit virtualbox with io-apic disabled

Commit 074835f0 ("intel-iommu: Fix
kernel hand if interrupt remapping disabled in BIOS") is adding a check
for interrupt remapping disabled and is dereferencing the dmar_tbl
pointer without checking its value.

Unfortunately, this value is null when booting inside a 64bit virtual
box guest with io-apic disabled, leading to a crash. With a check on it,
the guest is now booting. It's triggering a WARN() in
clockevent_delta2ns but it's better than not booting at all and allows
the user to see there's something wrong on their io-apic setup.
Signed-off-by: default avatarArnaud Patard <apatard@mandriva.com>
Signed-off-by: default avatarDavid Woodhouse <David.Woodhouse@intel.com>
parent dda56549
...@@ -1466,5 +1466,7 @@ int __init dmar_ir_support(void) ...@@ -1466,5 +1466,7 @@ int __init dmar_ir_support(void)
{ {
struct acpi_table_dmar *dmar; struct acpi_table_dmar *dmar;
dmar = (struct acpi_table_dmar *)dmar_tbl; dmar = (struct acpi_table_dmar *)dmar_tbl;
if (!dmar)
return 0;
return dmar->flags & 0x1; return dmar->flags & 0x1;
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment