[GIT PULL] EFI updates for v6.14

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Ard Biesheuvel <ardb@xxxxxxxxxx>

Hi Linus,

Please pull the EFI updates below. Details are in the tag.

Note that, even though the commit dates may suggest otherwise, most of these
changes have been in linux-next for at least a week or so before the merge
window opened, with the exception of the GCC 15 and kexec/x86 fixes (which are
tagged for stable). There were some last minute tweaks to James's efivarfs
patches that necessitated a partial rebase (implementing a suggestion by Al
Viro to combine struct inode and struct efivar_entry into a single object)


The following changes since commit 78d4f34e2115b517bcbfe7ec0d018bbbb6f9b0b8:

  Linux 6.13-rc3 (2024-12-15 15:58:23 -0800)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/efi/efi.git tags/efi-next-for-v6.14

for you to fetch changes up to 64b45dd46e154ee7641d7e0457f3fa266e57179f:

  x86/efi: skip memattr table on kexec boot (2025-01-23 09:58:43 +0100)

----------------------------------------------------------------
EFI updates for v6.14

- Increase the headroom in the EFI memory map allocation created by the
  EFI stub. This is needed because event callbacks called during
  ExitBootServices() may cause fragmentation, and reallocation is not
  allowed after that.

- Drop obsolete UGA graphics code and switch to a more ergonomic API to
  traverse handle buffers. Simplify some error paths using a __free()
  helper while at it.

- Fix some W=1 warnings when CONFIG_EFI=n

- Rely on the dentry cache to keep track of the contents of the efivarfs
  filesystem, rather than using a separate linked list.

- Improve and extend efivarfs test cases.

- Synchronize efivarfs with underlying variable store on resume from
  hibernation - this is needed because the firmware itself or another OS
  running on the same machine may have modified it.

- Fix x86 EFI stub build with GCC 15.

- Fix kexec/x86 false positive warning in EFI memory attributes table
  sanity check.

----------------------------------------------------------------
Ard Biesheuvel (8):
      x86/efistub: Drop long obsolete UGA support
      efi/libstub: Use C99-style for loop to traverse handle buffer
      efi/libstub: Simplify GOP handling code
      efi/libstub: Refactor and clean up GOP resolution picker code
      efi/libstub: Simplify PCI I/O handle buffer traversal
      efi/libstub: Use cleanup helpers for freeing copies of the memory map
      efi/libstub: Use __free() helper for pool deallocations
      Merge branch 'efivarfs' into next

Dave Young (1):
      x86/efi: skip memattr table on kexec boot

Hamza Mahfooz (1):
      efi/libstub: Bump up EFI_MMAP_NR_SLACK_SLOTS to 32

James Bottomley (12):
      efivarfs: remove unused efi_variable.Attributes and efivar_entry.kobj
      efivarfs: add helper to convert from UC16 name and GUID to utf8 name
      efivarfs: make variable_is_present use dcache lookup
      efivarfs: prevent setting of zero size on the inodes in the cache
      selftests/efivarfs: add check for disallowing file truncation
      efivarfs: move variable lifetime management into the inodes
      efivarfs: remove unused efivarfs_list
      efivarfs: fix error on write to new variable leaving remnants
      selftests/efivarfs: fix tests for failed write removal
      selftests/efivarfs: add concurrent update tests
      efivarfs: abstract initial variable creation routine
      efivarfs: add variable resync after hibernation

Nathan Chancellor (1):
      efi: libstub: Use '-std=gnu11' to fix build with GCC 15

Randy Dunlap (1):
      efi: sysfb_efi: fix W=1 warnings when EFI is not set

 arch/x86/include/asm/efi.h                     |   3 +
 arch/x86/platform/efi/efi.c                    |  10 -
 arch/x86/platform/efi/quirks.c                 |   5 +
 drivers/firmware/efi/efi.c                     |   3 -
 drivers/firmware/efi/libstub/Makefile          |   2 +-
 drivers/firmware/efi/libstub/efi-stub-helper.c |   9 +-
 drivers/firmware/efi/libstub/efi-stub.c        |  49 ++--
 drivers/firmware/efi/libstub/efistub.h         |  20 +-
 drivers/firmware/efi/libstub/gop.c             | 323 ++++++++++---------------
 drivers/firmware/efi/libstub/kaslr.c           |   4 +-
 drivers/firmware/efi/libstub/mem.c             |  20 +-
 drivers/firmware/efi/libstub/pci.c             |  34 +--
 drivers/firmware/efi/libstub/randomalloc.c     |   4 +-
 drivers/firmware/efi/libstub/relocate.c        |  10 +-
 drivers/firmware/efi/libstub/x86-stub.c        | 164 ++-----------
 drivers/firmware/efi/sysfb_efi.c               |   2 +-
 fs/efivarfs/file.c                             |  59 ++++-
 fs/efivarfs/inode.c                            |  58 ++---
 fs/efivarfs/internal.h                         |  27 ++-
 fs/efivarfs/super.c                            | 275 +++++++++++++++++----
 fs/efivarfs/vars.c                             | 181 ++++----------
 include/linux/efi.h                            |   4 -
 tools/testing/selftests/efivarfs/efivarfs.sh   | 168 ++++++++++++-
 23 files changed, 734 insertions(+), 700 deletions(-)




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux