linux-efi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [GIT PULL] EFI urgent fix for v4.6 queue
@ 2016-03-14 10:33 Matt Fleming
  2016-03-14 10:33 ` [PATCH] x86/mm/pat: Fix boot crash when 1GB pages are not supported by cpu Matt Fleming
  0 siblings, 1 reply; 4+ messages in thread
From: Matt Fleming @ 2016-03-14 10:33 UTC (permalink / raw)
  To: Ingo Molnar, Thomas Gleixner, H . Peter Anvin
  Cc: Matt Fleming, Ard Biesheuvel, linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	linux-efi-u79uwXL29TY76Z2rM5mHXA, Ben Hutchings, Borislav Petkov,
	Brian Gerst, Denys Vlasenko, Linus Torvalds, Maarten Lankhorst,
	Matthew Garrett, Peter Zijlstra, Raphael Hertzog, Roger Shimizu,
	Scott Ashcroft

Scott has reported another bug in the EFI mapping code which caused
page faults during SetVirtualAddressMap() because we're using 1GB
pages at the PUD level even though they may not be supported by the
cpu.

This patch is against tip/efi/core even though the bug has existed
since populate_pud() was first written in 2013. The reason I didn't
base it on tip/x86/urgent is because it would generate conflicts when
the stuff in tip/efi/core gets merged and since no one has ever
reported hitting it until now.

Let me know if you'd like me to respin this patch on top of something
else.

The following changes since commit 2ad510dc372c2caac9aada9ff6dd10e787616e1d:

  x86/efi: Only map kernel text for EFI mixed mode (2016-02-22 08:26:28 +0100)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/mfleming/efi.git tags/efi-urgent

for you to fetch changes up to a239b3605abff1457005b413047ddeef057a0831:

  x86/mm/pat: Fix boot crash when 1GB pages are not supported by cpu (2016-03-14 10:13:05 +0000)

----------------------------------------------------------------
 * We currently always assume that 1GB PUD pages are supported by the
   cpu which has resulted in reports of boot crashes (PF_RSVD faults)
   during SetVirtualAddressMap() when that assumption turns out to be
   false. Only use 1GB pages if supported by the cpu - Matt Fleming

----------------------------------------------------------------
Matt Fleming (1):
      x86/mm/pat: Fix boot crash when 1GB pages are not supported by cpu

 arch/x86/mm/pageattr.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

^ permalink raw reply	[flat|nested] 4+ messages in thread
* [GIT PULL] EFI urgent fix for v4.6 queue
@ 2016-03-11 11:19 Matt Fleming
  0 siblings, 0 replies; 4+ messages in thread
From: Matt Fleming @ 2016-03-11 11:19 UTC (permalink / raw)
  To: Ingo Molnar, H . Peter Anvin, Thomas Gleixner
  Cc: Ard Biesheuvel, Matt Fleming, linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	linux-efi-u79uwXL29TY76Z2rM5mHXA, Alexis Murzeau, Ben Hutchings,
	Borislav Petkov, Maarten Lankhorst, Matthew Garrett,
	Raphael Hertzog, Roger Shimizu

Folks, the following patch fixes a bug that is triggered with the new
EFI page table code sitting in tip/efi/core and queued up for the
merge window.

It turns out that we were relying on the kernel's mappings for those
regions that are marked E820_RESERVED, etc in the e820 map. The
specific example in the bug report was page zero which was always
"special" on legacy BIOS.

On EFI, legitimate code/data can be placed there and so if it's part
of the EFI memory map, we must make sure we map it into the EFI page
tables. EFI runtime drivers may need to access it.

The following changes since commit 2ad510dc372c2caac9aada9ff6dd10e787616e1d:

  x86/efi: Only map kernel text for EFI mixed mode (2016-02-22 08:26:28 +0100)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/mfleming/efi.git tags/efi-urgent

for you to fetch changes up to c7af05d993ef60102eea6e0056de7eb5f6d4e52d:

  x86/efi: Always map boot service regions into new EFI page tables (2016-03-11 11:08:36 +0000)

----------------------------------------------------------------
 * Fix a bug triggered with the new separate EFI page table code where
   EFI boot services regions that are marked E820_RESERVED are not
   mapped into the page tables, leading to an oops during
   SetVirtualAddressMap() - Matt Fleming

----------------------------------------------------------------
Matt Fleming (1):
      x86/efi: Always map boot service regions into new EFI page tables

 arch/x86/platform/efi/quirks.c | 79 +++++++++++++++++++++++++++++++++---------
 1 file changed, 62 insertions(+), 17 deletions(-)

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2016-03-15 16:03 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-03-14 10:33 [GIT PULL] EFI urgent fix for v4.6 queue Matt Fleming
2016-03-14 10:33 ` [PATCH] x86/mm/pat: Fix boot crash when 1GB pages are not supported by cpu Matt Fleming
     [not found]   ` <1457951581-27353-2-git-send-email-matt-mF/unelCI9GS6iBeEJttW/XRex20P6io@public.gmane.org>
2016-03-15 16:03     ` Borislav Petkov
  -- strict thread matches above, loose matches on Subject: below --
2016-03-11 11:19 [GIT PULL] EFI urgent fix for v4.6 queue Matt Fleming

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).