• Yinghai Lu's avatar
    x86: check mptable physptr with max_low_pfn on 32bit · ecda0628
    Yinghai Lu authored
    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: default avatarKevin O'Connor <kevin@koconnor.net>
    Signed-off-by: default avatarYinghai Lu <yinghai@kernel.org>
    Cc: Stefan Reinauer <stepan@coresystems.de>
    Cc: coreboot@coreboot.org
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    ecda0628
mpparse.c 25 KB