Skip to content

Commit

Permalink
x86/efistub: Fix PCI ROM preservation in mixed mode
Browse files Browse the repository at this point in the history
[ Upstream commit 8b94da9 ]

preserve_pci_rom_image() was accessing the romsize field in
efi_pci_io_protocol_t directly instead of using the efi_table_attr()
helper. This prevents the ROM image from being saved correctly during a
mixed mode boot.

Fixes: 2c3625c ("efi/x86: Fold __setup_efi_pci32() and __setup_efi_pci64() into one function")
Signed-off-by: Mikel Rychliski <mikel@mikelr.com>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
  • Loading branch information
mikelr authored and gregkh committed Sep 13, 2023
1 parent fcf78a1 commit 91f7627
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion drivers/firmware/efi/libstub/x86-stub.c
Expand Up @@ -61,7 +61,7 @@ preserve_pci_rom_image(efi_pci_io_protocol_t *pci, struct pci_setup_rom **__rom)
rom->data.type = SETUP_PCI;
rom->data.len = size - sizeof(struct setup_data);
rom->data.next = 0;
rom->pcilen = pci->romsize;
rom->pcilen = romsize;
*__rom = rom;

status = efi_call_proto(pci, pci.read, EfiPciIoWidthUint16,
Expand Down

0 comments on commit 91f7627

Please sign in to comment.