x86: check mptable physptr with max_low_pfn on 32bit
Impact: fix early crash on LinuxBIOS systems
Kevin O'Connor reported that Coreboot aka LinuxBIOS tries to put
mptable somewhere very high, well above max_low_pfn (below which
BIOSes generally put the mptable), causing a panic.
The BIOS will probably be changed to be compatible with older
Linus versions, but nevertheless the MP-spec does not forbid
an MP-table in arbitrary system RAM, so make sure it all
works even if the table is in an unexpected place.
Check physptr with max_low_pfn * PAGE_SIZE.
Reported-by: Kevin O'Connor <[email protected]>
Signed-off-by: Yinghai Lu <[email protected]>
Cc: Stefan Reinauer <[email protected]>
Cc: [email protected]
Signed-off-by: Ingo Molnar <[email protected]>
1 file changed