Re: [RFC PATCH] efi/libstub: Update memory map after calling priv_func

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 1 August 2018 at 22:49, Eric Snowberg <eric.snowberg@xxxxxxxxxx> wrote:
>
>> On Aug 1, 2018, at 11:33 AM, Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> wrote:
>>
>> On 1 August 2018 at 19:07, Jeffrey Hugo <jhugo@xxxxxxxxxxxxxx> wrote:
>>> On 8/1/2018 10:27 AM, Eric Snowberg wrote:
>>>> Once EBS is called, there isn’t enough room available for the new memory
>>>> map on a very large system (do to the memory that was previously allocated
>>>> in exit_boot_func).
>>>>
>>>> The race condition that exists between priv_func and the call to EBS will
>>>> be taken care of by the existing code, thru the slack slots.
>>>
>>>
>>> Now I'm slightly confused.  There isn't an issue because of slack slots?
>>>
>>> I'm kind of wondering if our assumption that 8 slots would be enough is not
>>> invalid, and therefore we need to increase that number.  I hate kicking the
>>> can down the road like that, but as discussed in 2016, there doesn't seem to
>>> be a good alternative.
>>>
>>
>> But why does alloc_e820ext have to be deferred to the last minute?
>
> I didn’t understand that either. If it was done earlier, I assume there would not be a problem.
>
> Our tests show any kernel prior to Commit d64934019f6c ("x86/efi: Use efi_exit_boot_services()”) will boot successfully.  The first "goto get_map" that was removed from the previous exit_boot insured their was enough room for the memory map when EBS was called.
>
> Which would you rather see done?  Increase the slack number or move the e820 code?  I can look at doing either if you'd like.
>

Given that this is a peculiarity of the x86 code, I'd prefer it if we
could fix it there as well.
--
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




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux