Re: Corrupted EFI region

Matthew Garrett
2013-07-31T21:54:23Z

On Wed, Jul 31, 2013 at 11:51:30PM +0200, Borislav Petkov wrote:

> But the problem is, something messes up the upper boundary of the region
> and it is an EFI_BOOT_SERVICES_DATA region which we need for the runtime
> services mapping and if we can't map it properly, we're probably going
> to miss functionality or not have runtime at all.

"Easiest" way around this would probably be to stash the address map
after ExitBootServices() and compare it at SetVirtualAddressMap() time,
then take the widest boundaries and trim the e820 map to match. This is
obviously dependent upon the system not allocating anything further
after that, but it seems safest. The worst case is finding the firmware
writing over bits of the kernel.

--
Matthew Garrett | mjg59-1xO5oi07KQx4cg9Nei1l7Q@public.gmane.org