mbox series

[0/4] efi/libstub: Clean up command line handling

Message ID 20241015181549.3121999-6-ardb+git@google.com
Headers show
Series efi/libstub: Clean up command line handling | expand

Message

Ard Biesheuvel Oct. 15, 2024, 6:15 p.m. UTC
From: Ard Biesheuvel <ardb@kernel.org>

This is a follow-up to the patches sent out by Jonathan last week
[0][1], to fix the broken command line handling in the EFI stub, which
currently fails to use the built-on command line as a fallback as it
never considers the bootloader provided command line to be empty.

This series fixes some more identified issues:
- free the correct pointer on error
- parse the built-in command line *after* the bootloader provided one,
  if both are available, to match the core kernel's behavior
- implement the missing fallback handling when loading files provided on
  the command line via initrd= or dtb=
- ignore the bootloader provided command line when FORCE or OVERRIDE are
  configured

The latter is provided as a separate change, as it changes behavior in a
way that could result in regressions, however unlikely.

[0] https://lore.kernel.org/all/20241011224812.25763-1-jonathan@marek.ca/#r
[1] https://lore.kernel.org/all/CAMj1kXGbuZnM8GoHasWNxs2YOnUDL-JViRmvGdVc91WHkMbdqA@mail.gmail.com/T/#u

Cc: Jonathan Marek <jonathan@marek.ca>

Ard Biesheuvel (4):
  efi/libstub: Free correct pointer on failure
  efi/libstub: Parse builtin command line after bootloader provided one
  efi/libstub: Fix command line fallback handling when loading files
  efi/libstub: Take command line overrides into account for loaded files

 drivers/firmware/efi/libstub/efi-stub.c | 21 +++++++++-----------
 drivers/firmware/efi/libstub/file.c     | 21 ++++++++++++++++++++
 2 files changed, 30 insertions(+), 12 deletions(-)