On Thu, 30 Jun, at 03:05:12PM, Jeffrey Hugo wrote: > On 6/30/2016 12:31 PM, Ard Biesheuvel wrote: > > > >No, I think x86's implementation is incorrect. efi_get_memory_map() > >should allocate some slack (i.e., the 8 entries you mentioned), and if > >the first call to ExitBootServices() fails, we should reuse the memory > >map buffer, and call GetMemoryMap() directly to repopulate it. Then, > >we call ExitBootServices() once more, or give up if either call fails. > > > >This way, we are 100% compliant with the wording of the spec, and err > >on the side of caution. > > > > Ok. Let me take some time to think upon this approach and develop a working > prototype. If possible I'd much prefer to see this fixed only once in the shared part of efi/libstub, so that the code in arch/x86 can be deleted in favour of your more robust patch. FYI, commit d3768d885c6c ("x86, efi: retry ExitBootServices() on failure") illustrates that we have hit this bug in the wild on x86. -- 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