summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2017-04-15 01:55:33 +0200
committerLinus Torvalds <torvalds@linux-foundation.org>2017-04-15 01:55:33 +0200
commitf399ecb4b49b3b6afb5bbb613bfa3728682a3e4f (patch)
tree8cce6b440e9b1d687f966d26a99b7b44209d9c35 /arch
parentMerge branch 'for-linus-4.11' of git://git.kernel.org/pub/scm/linux/kernel/gi... (diff)
parentx86/efi: Don't try to reserve runtime regions (diff)
downloadlinux-f399ecb4b49b3b6afb5bbb613bfa3728682a3e4f.tar.xz
linux-f399ecb4b49b3b6afb5bbb613bfa3728682a3e4f.zip
Merge branch 'efi-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull EFI fixes from Thomas Gleixner: "Three fixes from EFI land: - prevent accessing a Graphic Output Device (GOP) which the kernel does not know to handle - prevent PCI reconfiguration to modify a BAR which covers the framebuffer because that's already in use through the EFI GOP interface - avoid reserving EFI runtime regions as this results in bogus memory mappings" * 'efi-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/efi: Don't try to reserve runtime regions efi/fb: Avoid reconfiguration of BAR that covers the framebuffer efi/libstub: Skip GOP with PIXEL_BLT_ONLY format
Diffstat (limited to 'arch')
-rw-r--r--arch/x86/platform/efi/quirks.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/x86/platform/efi/quirks.c b/arch/x86/platform/efi/quirks.c
index 30031d5293c4..cdfe8c628959 100644
--- a/arch/x86/platform/efi/quirks.c
+++ b/arch/x86/platform/efi/quirks.c
@@ -201,6 +201,10 @@ void __init efi_arch_mem_reserve(phys_addr_t addr, u64 size)
return;
}
+ /* No need to reserve regions that will never be freed. */
+ if (md.attribute & EFI_MEMORY_RUNTIME)
+ return;
+
size += addr % EFI_PAGE_SIZE;
size = round_up(size, EFI_PAGE_SIZE);
addr = round_down(addr, EFI_PAGE_SIZE);