]> git.baikalelectronics.ru Git - kernel.git/commit
efi: avoid efivars layer when loading SSDTs from variables
authorArd Biesheuvel <ardb@kernel.org>
Fri, 17 Jun 2022 08:34:48 +0000 (10:34 +0200)
committerArd Biesheuvel <ardb@kernel.org>
Mon, 20 Jun 2022 10:43:25 +0000 (12:43 +0200)
commit8b001c3acea8055efe03ab7fa0fd1a91c4fdf16b
treebef3b1c49d2e0d76cec89fc54c7f8dd8ccb81b59
parentb38fb139e376d9e3a06865704f89c62dcd511b63
efi: avoid efivars layer when loading SSDTs from variables

The efivars intermediate variable access layer provides an abstraction
that permits the EFI variable store to be replaced by something else
that implements a compatible interface, and caches all variables in the
variable store for fast access via the efivarfs pseudo-filesystem.

The SSDT override feature does not take advantage of either feature, as
it is only used when the generic EFI implementation of efivars is used,
and it traverses all variables only once to find the ones it is
interested in, and frees all data structures that the efivars layer
keeps right after.

So in this case, let's just call EFI's code directly, using the function
pointers in struct efi.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
drivers/firmware/efi/efi.c