Commit df6fd319 authored by Starikovskiy, Alexey Y's avatar Starikovskiy, Alexey Y Committed by Len Brown

ACPI: relax BAD_MADT_ENTRY check to allow LSAPIC variable length string UIDs

ACPI 3.0 appended a variable length UID string to the LAPIC structure
as part of support for > 256 processors.  So the BAD_MADT_ENTRY() sanity
check can no longer compare for equality with a fixed structure length.
Signed-off-by: default avatarAlexey Y Starikovskiy <alexey.y.starikovskiy@intel.com>
Signed-off-by: default avatarLen Brown <len.brown@intel.com>
parent d68909f4
...@@ -59,7 +59,7 @@ static inline int gsi_irq_sharing(int gsi) { return gsi; } ...@@ -59,7 +59,7 @@ static inline int gsi_irq_sharing(int gsi) { return gsi; }
#define BAD_MADT_ENTRY(entry, end) ( \ #define BAD_MADT_ENTRY(entry, end) ( \
(!entry) || (unsigned long)entry + sizeof(*entry) > end || \ (!entry) || (unsigned long)entry + sizeof(*entry) > end || \
((acpi_table_entry_header *)entry)->length != sizeof(*entry)) ((acpi_table_entry_header *)entry)->length < sizeof(*entry))
#define PREFIX "ACPI: " #define PREFIX "ACPI: "
......
...@@ -55,7 +55,7 @@ ...@@ -55,7 +55,7 @@
#define BAD_MADT_ENTRY(entry, end) ( \ #define BAD_MADT_ENTRY(entry, end) ( \
(!entry) || (unsigned long)entry + sizeof(*entry) > end || \ (!entry) || (unsigned long)entry + sizeof(*entry) > end || \
((acpi_table_entry_header *)entry)->length != sizeof(*entry)) ((acpi_table_entry_header *)entry)->length < sizeof(*entry))
#define PREFIX "ACPI: " #define PREFIX "ACPI: "
......
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