mirror_ubuntu-kernels/drivers/firmware/efi/libstub
Ard Biesheuvel 0b2c29fb68 efi/zboot: Limit compression options to GZIP and ZSTD
For historical reasons, the legacy decompressor code on various
architectures supports 7 different compression types for the compressed
kernel image.

EFI zboot is not a compression library museum, and so the options can be
limited to what is likely to be useful in practice:

- GZIP is tried and tested, and is still one of the fastest at
  decompression time, although the compression ratio is not very high;
  moreover, Fedora is already shipping EFI zboot kernels for arm64 that
  use GZIP, and QEMU implements direct support for it when booting a
  kernel without firmware loaded;

- ZSTD has a very high compression ratio (although not the highest), and
  is almost as fast as GZIP at decompression time.

Reducing the number of options makes it less of a hassle for other
consumers of the EFI zboot format (such as QEMU today, and kexec in the
future) to support it transparently without having to carry 7 different
decompression libraries.

Acked-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
2024-12-06 16:59:56 +01:00
..
alignedmem.c efi/libstub: Add one kernel-doc comment 2024-01-30 21:44:21 +01:00
arm32-stub.c efi: libstub: Move screen_info handling to common code 2022-11-09 12:42:02 +01:00
arm64-stub.c arm64/efistub: Clean up KASLR logic 2024-07-10 12:22:46 +02:00
arm64.c efistub/smbios: Simplify SMBIOS enumeration API 2024-07-02 00:42:04 +02:00
bitmap.c efi/libstub: Implement support for unaccepted memory 2023-06-06 16:58:23 +02:00
efi-stub-entry.c efi: move screen_info into efi init code 2023-10-17 16:33:39 +02:00
efi-stub-helper.c efi/libstub: measure initrd to PCR9 independent of source 2024-10-15 20:21:20 +02:00
efi-stub.c efi/libstub: Parse builtin command line after bootloader provided one 2024-11-15 17:40:10 +01:00
efistub.h efi/libstub: remove unnecessary cmd_line_len from efi_convert_cmdline() 2024-10-15 20:04:11 +02:00
fdt.c efi: libstub: only free priv.runtime_map when allocated 2024-04-29 17:47:32 +02:00
file.c efi/libstub: Take command line overrides into account for loaded files 2024-11-17 08:54:01 +01:00
find.c efi/libstub: Implement support for unaccepted memory 2023-06-06 16:58:23 +02:00
gop.c efi/gop: Add an option to list out the available GOP modes 2020-05-20 19:09:20 +02:00
intrinsics.c efi: libstub: Clone memcmp() into the stub 2022-11-09 12:42:02 +01:00
kaslr.c arm64/efistub: Clean up KASLR logic 2024-07-10 12:22:46 +02:00
loongarch-stub.c efi/loongarch: Directly position the loaded image file 2023-12-19 11:16:37 +01:00
loongarch-stub.h efi/loongarch: Directly position the loaded image file 2023-12-19 11:16:37 +01:00
loongarch.c LoongArch: Add writecombine support for DMW-based ioremap() 2024-07-20 22:40:59 +08:00
Makefile ARM updates for v6.11-rc1 2024-07-29 10:33:51 -07:00
Makefile.zboot efi/zboot: Limit compression options to GZIP and ZSTD 2024-12-06 16:59:56 +01:00
mem.c arm64: efi: Limit allocations to 48-bit addressable physical region 2022-12-07 19:50:44 +01:00
pci.c efi/libstub: Correct comment typos 2020-05-06 11:27:55 +02:00
printk.c efi: libstub: Enable efi_printk() in zboot decompressor 2022-11-09 12:42:02 +01:00
random.c efi: stub: use random seed from EFI variable 2022-12-01 09:51:21 +01:00
randomalloc.c efi/libstub: Cast away type warning in use of max() 2024-03-28 16:18:57 +01:00
relocate.c efi: Rename efi_early_memdesc_ptr() to efi_memdesc_ptr() 2024-07-12 10:06:01 +02:00
riscv-stub.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
riscv.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
screen_info.c efi/libstub: Zero initialize heap allocated struct screen_info 2024-07-17 22:51:20 +02:00
secureboot.c efi: libstub: check Shim mode using MokSBStateRT 2022-09-22 10:15:44 +02:00
skip_spaces.c efi/libstub: Fix missing-prototype warning for skip_spaces() 2020-06-15 19:43:58 +02:00
smbios.c x86/efistub: Enable SMBIOS protocol handling for x86 2024-07-08 10:17:44 +02:00
string.c efi: libstub: Provide local implementations of strrchr() and memchr() 2022-11-09 12:42:02 +01:00
systable.c efi/libstub: move efi_system_table global var into separate object 2022-09-19 11:19:35 +02:00
tpm.c libstub,tpm: do not ignore failure case when reading final event log 2024-10-15 20:27:30 +02:00
unaccepted_memory.c mm: rework accept memory helpers 2024-09-01 20:26:07 -07:00
vsprintf.c isystem: ship and use stdarg.h 2021-08-19 09:02:55 +09:00
x86-5lvl.c x86/asm: Always set A (accessed) flag in GDT descriptors 2023-12-20 10:57:51 +01:00
x86-stub.c efi/libstub: remove unnecessary cmd_line_len from efi_convert_cmdline() 2024-10-15 20:04:11 +02:00
x86-stub.h x86/efistub: Give up if memory attribute protocol returns an error 2024-01-26 16:58:19 +01:00
zboot-header.S efi/zboot: Set forward edge CFI compat header flag if supported 2023-04-20 15:45:12 +02:00
zboot.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
zboot.lds efi/libstub: zboot.lds: Discard .discard sections 2024-05-23 09:02:39 +02:00