Re: [PATCH 03/33] efi/libstub: Unify EFI call wrappers for non-x86

From: Guenter Roeck
Date: Sun May 03 2020 - 11:09:23 EST


Hi,

On Fri, Apr 24, 2020 at 03:05:01PM +0200, Ard Biesheuvel wrote:
> We have wrappers around EFI calls so that x86 can define special
> versions for mixed mode, while all other architectures can use the
> same simple definition that just issues the call directly.
> In preparation for the arrival of yet another architecture that doesn't
> need anything special here (RISC-V), let's move the default definition
> into a shared header.
>
> Signed-off-by: Ard Biesheuvel <ardb@xxxxxxxxxx>

This patch causes an immediate reboot in linux-next when booting
in qemu with an efi32 bios. Bisect log attached.

Qemu command line:

qemu-system-x86_64 -kernel arch/x86/boot/bzImage -m 1G \
-no-reboot -snapshot \
-bios OVMF-pure-efi-32.fd \
-drive file=rootfs.ext2,format=raw \
--append 'earlycon=uart8250,io,0x3f8,9600n8 panic=-1 root=/dev/sda console=ttyS0' \
-nographic

The same command succeeds with OVMF-pure-efi-64.fd.

Bisect log attached.

File locations:
https://github.com/groeck/linux-build-test/blob/master/rootfs/firmware/OVMF-pure-efi-32.fd
https://github.com/groeck/linux-build-test/blob/master/rootfs/x86_64/rootfs.ext2.gz

Guenter

---
# bad: [fb9d670f57e3f6478602328bbbf71138be06ca4f] Add linux-next specific files for 20200501
# good: [6a8b55ed4056ea5559ebe4f6a4b247f627870d4c] Linux 5.7-rc3
git bisect start 'HEAD' 'v5.7-rc3'
# good: [068b80b68a670f0b17288c8a3d1ee751f35162ab] Merge remote-tracking branch 'drm/drm-next'
git bisect good 068b80b68a670f0b17288c8a3d1ee751f35162ab
# bad: [46c70fc6a3ac35cd72ddad248dcbe4eee716d2a5] Merge remote-tracking branch 'drivers-x86/for-next'
git bisect bad 46c70fc6a3ac35cd72ddad248dcbe4eee716d2a5
# good: [3fc893798e1ca8276eaf2b0e3210f2ff927f0c80] Merge remote-tracking branch 'integrity/next-integrity'
git bisect good 3fc893798e1ca8276eaf2b0e3210f2ff927f0c80
# bad: [88188475d4d3fd10edabb172a7dc71e4bf997c19] Merge remote-tracking branch 'tip/auto-latest'
git bisect bad 88188475d4d3fd10edabb172a7dc71e4bf997c19
# good: [a51a8decbc07a511d9a05b2aff93bd8b10bfe812] Merge branch 'objtool/core'
git bisect good a51a8decbc07a511d9a05b2aff93bd8b10bfe812
# good: [12414a49ebe9d6584f4942a4bfd98ce5c34e034b] Merge remote-tracking branch 'spi/for-next'
git bisect good 12414a49ebe9d6584f4942a4bfd98ce5c34e034b
# good: [703b321501c95c658275fd76775282fe45989641] kcsan: Introduce ASSERT_EXCLUSIVE_BITS(var, mask)
git bisect good 703b321501c95c658275fd76775282fe45989641
# bad: [e71356fe29e7bd5cd5e07800d4940a7481fb0854] efi/libstub/arm64: Switch to ordinary page allocator for kernel image
git bisect bad e71356fe29e7bd5cd5e07800d4940a7481fb0854
# bad: [9867fc9de6a6a7a54edb2c43540c6db226e84a14] efi/gop: Use helper macros for find_bits
git bisect bad 9867fc9de6a6a7a54edb2c43540c6db226e84a14
# bad: [8cd207973c37175bf44727e28aa9c74fcf18de5e] efi/gop: Move check for framebuffer before con_out
git bisect bad 8cd207973c37175bf44727e28aa9c74fcf18de5e
# bad: [22090f84bc3f8081e0ec180ccaedc85820085376] efi/libstub: unify EFI call wrappers for non-x86
git bisect bad 22090f84bc3f8081e0ec180ccaedc85820085376
# good: [cf6b83664895a5c7e97710df282e220bd047f0f5] efi/libstub: Make initrd file loader configurable
git bisect good cf6b83664895a5c7e97710df282e220bd047f0f5
# first bad commit: [22090f84bc3f8081e0ec180ccaedc85820085376] efi/libstub: unify EFI call wrappers for non-x86