x86/boot/compressed/64: Lenovo Ideapad Miix300 bug report

From: Fabio Aiuto
Date: Thu Aug 19 2021 - 06:02:41 EST


Dear Joerg and other x86 developers,

I work on a Lenovo Ideapad Miix 300-10IBY (intel baytrail based)
for hardware tests.
I have fedora 34 installed on, and since I updated to the 5.13.x
versions, the tablet very often freezes at Lenovo startup logo.

I did a bisect and found that the commit that introduced
the bug is:

commit 79419e13e8082cc15d174df979a363528e31f2e7
Author: Joerg Roedel <jroedel@xxxxxxx>
Date: Wed Mar 10 09:43:21 2021 +0100

x86/boot/compressed/64: Setup IDT in startup_32 boot path

This boot path needs exception handling when it is used with SEV-ES.
Setup an IDT and provide a helper function to write IDT entries for
use in 32-bit protected mode.

Signed-off-by: Joerg Roedel <jroedel@xxxxxxx>
Signed-off-by: Borislav Petkov <bp@xxxxxxx>
Link: https://lkml.kernel.org/r/20210312123824.306-5-joro@xxxxxxxxxx

I tried also to checkout a v5.13 and revert this commit
together with the following:

fef81c86262879d4b1176ef51a834c15b805ebb9
"x86/boot/compressed/64: Check SEV encryption in the 32-bit boot-path"

e927e62d8e370ebfc0d702fec22bc752249ebcef
"x86/boot/compressed/64: Add CPUID sanity check to 32-bit boot-path"

1ccdbf748d862bc2ea106fa9f2300983c77860fe
"x86/boot/compressed/64: Add 32-bit boot #VC handler"

to ensure an errorless build. The kernel works fine on tablet
without those changes.

My efibootmgr -v output is:

BootCurrent: 0000
Timeout: 2 seconds
BootOrder: 0000,0001,2001,2002,2003
Boot0000* Fedora HD(1,GPT,1bb602be-6ed0-4ef5-aee4-b26891963c4a,0x800,0xaf000)/File(\EFI\fedora\shimia32.efi)
Boot0001* Fedora HD(1,GPT,1bb602be-6ed0-4ef5-aee4-b26891963c4a,0x800,0xaf000)/File(\EFI\fedora\shim.efi)RC
Boot2001* EFI USB Device RC
Boot2002* EFI DVD/CDROM RC
Boot2003* EFI Network RC

This means that on startup is followed the 32-bit boot-path.

CONFIG_AMD_MEM_ENCRYPT=y

Tell me if can help, I started contributing to linux kernel
five months ago in staging subsystem. I'd be glad to contribute
to such a core area of the kernel.

thank you in advance,

fabio