Re: [Linaro-acpi] [PATCH v5 0/5] Provide better MADT subtable sanity checks

From: Sudeep Holla
Date: Mon Oct 12 2015 - 05:45:05 EST




On 12/10/15 08:04, Hanjun Guo wrote:
On 10/12/2015 11:58 AM, Pat Erley wrote:
On 10/11/2015 08:49 PM, Hanjun Guo wrote:
On 10/12/2015 11:08 AM, Pat Erley wrote:
On 10/05/2015 10:12 AM, Al Stone wrote:
On 10/05/2015 07:39 AM, Rafael J. Wysocki wrote:
On Wednesday, September 30, 2015 10:10:16 AM Al Stone wrote:
On 09/30/2015 03:00 AM, Hanjun Guo wrote:
On 2015/9/30 7:45, Al Stone wrote:
NB: this patch set is for use against the linux-pm bleeding edge
branch.


[snip...]


For this patch set,

Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx>

Thanks
Hanjun

Thanks, Hanjun!

Series applied, thanks!

Rafael


Thanks, Rafael!


Just decided to test out linux-next (to see the new nouveau cleanups).
This change set prevents my Lenovo W510 from booting properly.

Reverting: 7494b0 "ACPI: add in a bad_madt_entry() function to
eventually replace the macro"

Gets the system booting again. I'm attaching my dmesg from the failed
boot, who wants the acpidump?

[ 0.000000] ACPI: undefined version for either FADT 4.0 or MADT 1
[ 0.000000] ACPI: Error parsing LAPIC address override entry
[ 0.000000] ACPI: Invalid BIOS MADT, disabling ACPI

Seems the MADT revision is not right, could you dump the ACPI MADT
(APIC) table and send it out? I will take a look :)

Thanks
Hanjun

Here ya go, enjoy. Feel free to CC me on any patches that might fix it.

Thanks! I think I had the right guess, the MADT revision is not right
for ACPI 4.0:

[000h 0000 4] Signature : "APIC" [Multiple APIC
Description Table (MADT)]
[004h 0004 4] Table Length : 000000BC
[008h 0008 1] *Revision : 01*

I encountered such problem before because the table was just copied from
previous version, and without the update for table revision.

I think we may need to ignore the table revision for x86, but restrict
it for ARM64, I'd like Al and Rafael's suggestion before I send out a
patch.


Instead of just removing the check completely on x86, IMO restrict it to
some newer/later version of ACPI so you can still force vendors to fix
their ACPI tables at-least in future.

It would be good to get such sanity check in the tools used to build
those tables, but yes since such static tables can be built in many
ways, its difficult to deal it in all those tools.

--
Regards,
Sudeep
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/