x86/efi: Only map RAM into EFI page tables if in mixed-mode
authorMatt Fleming <matt@codeblueprint.co.uk>
Mon, 19 Sep 2016 12:09:09 +0000 (13:09 +0100)
committerMatt Fleming <matt@codeblueprint.co.uk>
Tue, 20 Sep 2016 13:53:04 +0000 (14:53 +0100)
commit1297667083d5442aafe3e337b9413bf02b114edb
tree7a17fb76fe1f076b819ca0ac591bcc30db29b6bd
parente535ec0899d1fe52ec3a84c9bc03457ac67ad6f7
x86/efi: Only map RAM into EFI page tables if in mixed-mode

Waiman reported that booting with CONFIG_EFI_MIXED enabled on his
multi-terabyte HP machine results in boot crashes, because the EFI
region mapping functions loop forever while trying to map those
regions describing RAM.

While this patch doesn't fix the underlying hang, there's really no
reason to map EFI_CONVENTIONAL_MEMORY regions into the EFI page tables
when mixed-mode is not in use at runtime.

Reported-by: Waiman Long <waiman.long@hpe.com>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
CC: Theodore Ts'o <tytso@mit.edu>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Scott J Norton <scott.norton@hpe.com>
Cc: Douglas Hatch <doug.hatch@hpe.com>
Cc: <stable@vger.kernel.org> # v4.6+
Signed-off-by: Matt Fleming <matt@codeblueprint.co.uk>
arch/x86/platform/efi/efi_64.c