On Fri, Aug 30, 2019 at 08:06:38AM -0400, Sasha Levin wrote:
On Fri, Aug 30, 2019 at 01:17:23AM +0300, Kirill A. Shutemov wrote:
On Thu, Aug 29, 2019 at 02:12:46PM -0400, Sasha Levin wrote:
From: "Kirill A. Shutemov" kirill@shutemov.name
[ Upstream commit 0a46fff2f9108c2c44218380a43a736cf4612541 ]
BIOS on Samsung 500C Chromebook reports very rudimentary E820 table that consists of 2 entries:
BIOS-e820: [mem 0x0000000000000000-0x0000000000000fff] usable BIOS-e820: [mem 0x00000000fffff000-0x00000000ffffffff] reserved
It breaks logic in find_trampoline_placement(): bios_start lands on the end of the first 4k page and trampoline start gets placed below 0.
Detect underflow and don't touch bios_start for such cases. It makes kernel ignore E820 table on machines that doesn't have two usable pages below BIOS_START_MAX.
Fixes: 1b3a62643660 ("x86/boot/compressed/64: Validate trampoline placement against E820") Signed-off-by: Kirill A. Shutemov kirill.shutemov@linux.intel.com Signed-off-by: Borislav Petkov bp@suse.de Cc: "H. Peter Anvin" hpa@zytor.com Cc: Ingo Molnar mingo@redhat.com Cc: Thomas Gleixner tglx@linutronix.de Cc: x86-ml x86@kernel.org Link: https://bugzilla.kernel.org/show_bug.cgi?id=203463 Link: https://lkml.kernel.org/r/20190813131654.24378-1-kirill.shutemov@linux.intel... Signed-off-by: Sasha Levin sashal@kernel.org
Please postpone backporting the patch (and into other trees). There's a fixup for it:
http://lore.kernel.org/r/20190826133326.7cxb4vbmiawffv2r@box
Sure. Should I just queue it up for a week or two later (along with the fixes), or do you want to let me know when?
You can queue it up later (two weeks is fine) once the fixup hit Linus' tree.