On Wed, Jul 31, 2013 at 10:54:23PM +0100, Matthew Garrett wrote: > 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. Actually, with UEFI impl. f*ckup like that, I'd rather kick it back to the curb and simply not init runtime services instead of fixing stuff around it. SetVirtualAddressMap in itself is a f*ckup as it is already. Oh well, let's see what edk2 guys would say first. -- Regards/Gruss, Boris. Sent from a fat crate under my desk. Formatting is fine. -- -- To unsubscribe from this list: send the line "unsubscribe linux-efi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html