]> git.ipfire.org Git - thirdparty/linux.git/commit
efi/libstub: gop: Fix EDID support in mixed-mode
authorHans de Goede <johannes.goede@oss.qualcomm.com>
Tue, 23 Dec 2025 10:10:46 +0000 (11:10 +0100)
committerArd Biesheuvel <ardb@kernel.org>
Wed, 24 Dec 2025 20:32:31 +0000 (21:32 +0100)
commit5688e977ed2b98b2f881cdf2b1306a7bb2ba5018
tree44b6784bb93e1ac65a82e28c77da7c3d2f9585a7
parent8f0b4cce4481fb22653697cced8d0d04027cb1e8
efi/libstub: gop: Fix EDID support in mixed-mode

The efi_edid_discovered_protocol and efi_edid_active_protocol have mixed
mode fields. So all their attributes should be accessed through
the efi_table_attr() helper.

Doing so fixes the upper 32 bits of the 64 bit gop_edid pointer getting
set to random values (followed by a crash at boot) when booting a x86_64
kernel on a machine with 32 bit UEFI like the Asus T100TA.

Fixes: 17029cdd8f9d ("efi/libstub: gop: Add support for reading EDID")
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Javier Martinez Canillas <javierm@redhat.com>
Signed-off-by: Hans de Goede <johannes.goede@oss.qualcomm.com>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
drivers/firmware/efi/libstub/gop.c