Commit a7e4c6cf authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull EFI updates from Ard Biesheuvel:

 - Fix a syzbot reported issue in efivarfs where concurrent accesses to
   the file system resulted in list corruption

 - Add support for accessing EFI variables via the TEE subsystem (and a
   trusted application in the secure world) instead of via EFI runtime
   firmware running in the OS's execution context

 - Avoid linker tricks to discover the image base on LoongArch

* tag 'efi-next-for-v6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/efi/efi:
  efi: memmap: fix kernel-doc warnings
  efi/loongarch: Directly position the loaded image file
  efivarfs: automatically update super block flag
  efi: Add tee-based EFI variable driver
  efi: Add EFI_ACCESS_DENIED status code
  efi: expose efivar generic ops register function
  efivarfs: Move efivarfs list into superblock s_fs_info
  efivarfs: Free s_fs_info on unmount
  efivarfs: Move efivar availability check into FS context init
  efivarfs: force RO when remounting if SetVariable is not supported
parents 7c6a3fc9 4afa688d
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -32,6 +32,4 @@ static inline unsigned long efi_get_kimg_min_align(void)

#define EFI_KIMG_PREFERRED_ADDRESS	PHYSADDR(VMLINUX_LOAD_ADDRESS)

unsigned long kernel_entry_address(unsigned long kernel_addr);

#endif /* _ASM_LOONGARCH_EFI_H */
+0 −1
Original line number Diff line number Diff line
@@ -34,7 +34,6 @@ pe_header:

SYM_DATA(kernel_asize, .long _kernel_asize);
SYM_DATA(kernel_fsize, .long _kernel_fsize);
SYM_DATA(kernel_offset, .long _kernel_offset);

#endif

+0 −1
Original line number Diff line number Diff line
@@ -11,7 +11,6 @@ __efistub_strcmp = strcmp;
__efistub_kernel_entry		= kernel_entry;
__efistub_kernel_asize		= kernel_asize;
__efistub_kernel_fsize		= kernel_fsize;
__efistub_kernel_offset		= kernel_offset;
#if defined(CONFIG_EFI_EARLYCON) || defined(CONFIG_SYSFB)
__efistub_screen_info		= screen_info;
#endif
+0 −1
Original line number Diff line number Diff line
@@ -143,7 +143,6 @@ SECTIONS
	_kernel_fsize = _edata - _text;
	_kernel_vsize = _end - __initdata_begin;
	_kernel_rsize = _edata - __initdata_begin;
	_kernel_offset = kernel_offset - _text;
#endif

	.gptab.sdata : {
+15 −0
Original line number Diff line number Diff line
@@ -301,3 +301,18 @@ config UEFI_CPER_X86
	bool
	depends on UEFI_CPER && X86
	default y

config TEE_STMM_EFI
	tristate "TEE-based EFI runtime variable service driver"
	depends on EFI && OPTEE
	help
	  Select this config option if TEE is compiled to include StandAloneMM
	  as a separate secure partition. It has the ability to check and store
	  EFI variables on an RPMB or any other non-volatile medium used by
	  StandAloneMM.

	  Enabling this will change the EFI runtime services from the firmware
	  provided functions to TEE calls.

	  To compile this driver as a module, choose M here: the module
	  will be called tee_stmm_efi.
Loading