lkml.org 
[lkml]   [2019]   [Aug]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: 5.3 boot regression caused by 5.3 TPM changes
    From
    Date
    Hi,

    On 05-08-19 18:01, Ard Biesheuvel wrote:
    > On Sun, 4 Aug 2019 at 19:12, Hans de Goede <hdegoede@redhat.com> wrote:
    >>
    >> Hi,
    >>
    >> On 04-08-19 17:33, Ard Biesheuvel wrote:
    >>> Hi Hans,
    >>>
    >>> On Sun, 4 Aug 2019 at 13:00, Hans de Goede <hdegoede@redhat.com> wrote:
    >>>>
    >>>> Hi All,
    >>>>
    >>>> While testing 5.3-rc2 on an Irbis TW90 Intel Cherry Trail based
    >>>> tablet I noticed that it does not boot on this device.
    >>>>
    >>>> A git bisect points to commit 166a2809d65b ("tpm: Don't duplicate
    >>>> events from the final event log in the TCG2 log")
    >>>>
    >>>> And I can confirm that reverting just that single commit makes
    >>>> the TW90 boot again.
    >>>>
    >>>> This machine uses AptIO firmware with base component versions
    >>>> of: UEFI 2.4 PI 1.3. I've tried to reproduce the problem on
    >>>> a Teclast X80 Pro which is also CHT based and also uses AptIO
    >>>> firmware with the same base components. But it does not reproduce
    >>>> there. Neither does the problem reproduce on a CHT tablet using
    >>>> InsideH20 based firmware.
    >>>>
    >>>> Note that these devices have a software/firmware TPM-2.0
    >>>> implementation, they do not have an actual TPM chip.
    >>>>
    >>>> Comparing TPM firmware setting between the 2 AptIO based
    >>>> tablets the settings are identical, but the troublesome
    >>>> TW90 does have some more setting then the X80, it has
    >>>> the following settings which are not shown on the X80:
    >>>>
    >>>> Active PCR banks: SHA-1 (read only)
    >>>> Available PCR banks: SHA-1,SHA256 (read only)
    >>>> TPM2.0 UEFI SPEC version: TCG_2 (other possible setting: TCG_1_2
    >>>> Physical Presence SPEC ver: 1.2 (other possible setting: 1.3)
    >>>>
    >>>> I have the feeling that at least the first 2 indicate that
    >>>> the previous win10 installation has actually used the
    >>>> TPM, where as on the X80 the TPM is uninitialized.
    >>>> Note this is just a hunch I could be completely wrong.
    >>>>
    >>>> I would be happy to run any commands to try and debug this
    >>>> or to build a kernel with some patches to gather more info.
    >>>>
    >>>> Note any kernel patches to printk some debug stuff need
    >>>> to be based on 5.3 with 166a2809d65b reverted, without that
    >>>> reverted the device will not boot, and thus I cannot collect
    >>>> logs without it reverted.
    >>>>
    >>>
    >>> Are you booting a 64-bit kernel on 32-bit firmware?
    >>
    >> Yes you are right, I must say that this is somewhat surprising
    >> most Cherry Trail devices do use 64 bit firmware (where as Bay Trail
    >> typically uses 32 bit). But I just checked efibootmgr output and it
    >> says it is booting: \EFI\FEDORA\SHIMIA32.EFI so yeah 32 bit firmware.
    >>
    >> Recent Fedora releases take care of this so seamlessly I did not
    >> even realize...
    >>
    >
    > OK, so we'll have to find out how this patch affects 64-bit code
    > running on 32-bit firmware. The only EFI call in that patch is
    > get_config_table(), which is not actually a EFI boot service call but
    > a EFI stub helper that parses the config table array in the EFI system
    > table.

    Ok, the problem indeed is the new get_efi_config_table() helper, it
    does not make any calls, but it does interpret some structs which
    have different sized members depending on if the firmware is 32 or 64 bit.

    I've prepared a patch fixing this which I will send out after this mail.

    Regards,

    Hans

    \
     
     \ /
      Last update: 2019-08-07 23:56    [W:3.661 / U:0.528 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site