summaryrefslogtreecommitdiffstats
path: root/fs/efivarfs
diff options
context:
space:
mode:
authorMasahisa Kojima <masahisa.kojima@linaro.org>2023-11-07 14:40:54 +0900
committerArd Biesheuvel <ardb@kernel.org>2023-12-11 11:19:18 +0100
commitc44b6be62e8dd4ee0a308c36a70620613e6fc55f (patch)
tree3c244bf049281648419da52d4f5c5ad85f0da3bd /fs/efivarfs
parent1f71f37fbbd065b3326d9b7d8bb5ae688cd653d0 (diff)
downloadlinux-c44b6be62e8dd4ee0a308c36a70620613e6fc55f.tar.gz
linux-c44b6be62e8dd4ee0a308c36a70620613e6fc55f.tar.bz2
linux-c44b6be62e8dd4ee0a308c36a70620613e6fc55f.zip
efi: Add tee-based EFI variable driver
When the flash is not owned by the non-secure world, accessing the EFI variables is straight-forward and done via EFI Runtime Variable Services. In this case, critical variables for system integrity and security are normally stored in the dedicated secure storage and can only be manipulated directly from the secure world. Usually, small embedded devices don't have the special dedicated secure storage. The eMMC device with an RPMB partition is becoming more common, and we can use this RPMB partition to store the EFI Variables. The eMMC device is typically owned by the non-secure world (Linux in our case). There is an existing solution utilizing eMMC RPMB partition for EFI Variables, it is implemented by interacting with TEE (OP-TEE in this case), StandaloneMM (as EFI Variable Service Pseudo TA), eMMC driver and tee-supplicant. The last piece is the tee-based variable access driver to interact with TEE and StandaloneMM. So let's add the kernel functions needed. This feature is implemented as a kernel module. StMM PTA has TA_FLAG_DEVICE_ENUM_SUPP flag when registered to OP-TEE so that this tee_stmm_efi module is probed after tee-supplicant starts, since "SetVariable" EFI Runtime Variable Service requires to interact with tee-supplicant. Acked-by: Sumit Garg <sumit.garg@linaro.org> Co-developed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org> Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Diffstat (limited to 'fs/efivarfs')
0 files changed, 0 insertions, 0 deletions