On Mon, 15 Aug, at 01:22:09PM, Jeffrey Hugo wrote: > According to the UEFI spec, the UEFI OS Loader (aka the stub) should > transition from UEFI to the OS by getting the current memory map from UEFI, > then calling ExitBootServices. The spec states that ExitBootServices may > return EFI_INVALID_PARAMETER if the memory map reference provided by the stub > is not current, ie UEFI handled some event prior to ExitBootServices which > modified the map. The spec states that to handle this scenario, the stub shall > get the updated map, and invoke ExitBootServices again. The spec also states > that once ExitBootServices is invoked, even if it returns error, the only > APIs the stub is allowed to invoke is GetMemoryMap and ExitBootServices. > > The EFI_INVALID_PARAMETER scenario has been seen in the wild previously in > x86 but the fix - d3768d885c6c ("x86, efi: retry ExitBootServices() on failure") > still violates the spec. The FDT code does not handle this scenario, but > instances of it are now observed. > > This patch series aims to provide a spec complaint solution that can be reused > in all stubs, thus preventing each arch or variant from reinventing the wheel > and likely getting it wrong. This Jeffrey. This version looks much better and it passes all my tests. Queued up in 'urgent'. -- 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