Re: [PATCH v2] efi/libstub/tpm: Initialize efi_physical_addr_t vars to zero for mixed mode

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

 



On 21 June 2018 at 10:03, Hans de Goede <hdegoede@xxxxxxxxxx> wrote:
> Hi,
>
> On 21-06-18 09:57, Ard Biesheuvel wrote:
>>
>> On 21 June 2018 at 09:42, Hans de Goede <hdegoede@xxxxxxxxxx> wrote:
>>>
>>> Commit 79832f0b5f71 ("efi/libstub/tpm: Initialize pointer variables to
>>> zero
>>> for mixed mode") fixes a problem with the tpm code on mixed mode (64 bit
>>> kernel on 32 bit UEFI), where 64-bit pointer variables are not fully
>>> initialized by the 32-bit EFI code.
>>>
>>> A simlar problem applies to the efi_physical_addr_t variables which
>>> are written by the get_event_log EFI call. Even though
>>> efi_physical_addr_t
>>> is 64 bit everywhere it seems that some 32 bit UEFI implementations only
>>> fill in the lower 32 bits when passed a pointer to an efi_physical_addr_t
>>> to fill.
>>>
>>> This commit initializes these to 0 to, to ensure the upper 32 bits are
>>> 0 in mixed mode. This fixes recent kernels sometimes hanging during
>>> early boot on mixed mode UEFI systems.
>>>
>>> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>
>>> ---
>>> Changes in v2:
>>> -Change commit message to reflect that efi_physical_addr_t is 64 bit
>>>   everywhere and some firmwares only filling the lower 32 bits is
>>> somewhat
>>>   unexpected
>>
>>
>> Thanks Hans
>>
>> Queued in efi/next
>
>
> Thanks,
>
> I just realized I forgot to add a "Cc: stable@xxxxxxxxxxxxxxx", the problem
> of some BYT machines not booting about 50% of the times was introduced
> in 4.17.
>
> Given that this is a bugfix for this, it would be good to get this added to
> 4.18-rc# and 4.17.x
>

Fair enough. I will send it to Ingo as a fix instead.
--
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