]> 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)
commit08c29826d43986af2245fbf8f7fafbd2482ddd0f
treebef3b1c49d2e0d76cec89fc54c7f8dd8ccb81b59
parent181f208da05ded168ce8a6a38fe41dbb7466b2bf
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