> Commit-ID: 08cfb38f3ef49cfd1bba11a00401451606477d80 > Gitweb: > https://git.kernel.org/tip/08cfb38f3ef49cfd1bba11a00401451606477d80 > Author: Sai Praneeth Prakhya <sai.praneeth.prak...@intel.com> > AuthorDate: Thu, 29 Nov 2018 18:12:24 +0100 > Committer: Ingo Molnar <mi...@kernel.org> > CommitDate: Fri, 30 Nov 2018 09:10:30 +0100 > > x86/efi: Unmap EFI boot services code/data regions from efi_pgd > > efi_free_boot_services(), as the name suggests, frees EFI boot services > code/data regions but forgets to unmap these regions from efi_pgd. This means > that any code that's running in efi_pgd address space (e.g: > any EFI runtime service) would still be able to access these regions but the > contents of these regions would have long been over written by someone else. > So, it's important to unmap these regions. Hence, introduce efi_unmap_pages() > to unmap these regions from efi_pgd. > > After unmapping EFI boot services code/data regions, any illegal access by > buggy firmware to these regions would result in page fault which will be > handled > by EFI specific fault handler.
Hi Thomas and Ingo, I recently noticed that the below commits [1] and [2] are broken when kernel command line argument "efi=old_map" is passed. Sorry! I missed to test this condition prior to sending these patches to mailing list. I am working on a fix and will send it to mailing list as soon as it's ready. Meanwhile, could you please drop these patches before sending pull request to Linus? [1] Commit 08cfb38f3ef4 ("x86/efi: Unmap EFI boot services code/data regions from efi_pgd") [2] Commit 7e0dabd3010d ("x86/mm/pageattr: Introduce helper function to unmap EFI boot services") Regards, Sai