[PATCH v3 0/4] binfmt_elf: Support segments with 0 filesz and misaligned starts

From: Kees Cook
Date: Wed Sep 27 2023 - 00:20:43 EST


Hi,

This is the continuation of the work Eric started for handling
"p_memsz > p_filesz" in arbitrary segments (rather than just the last,
BSS, segment). I've added the suggested changes:

- drop unused "elf_bss" variable
- report padzero() errors when PROT_WRITE is present
- refactor load_elf_interp() to use elf_load()

This passes my quick smoke tests, but I'm still trying to construct some
more complete tests...

-Kees

Eric W. Biederman (1):
binfmt_elf: Support segments with 0 filesz and misaligned starts

Kees Cook (3):
binfmt_elf: elf_bss no longer used by load_elf_binary()
binfmt_elf: Provide prot bits as context for padzero() errors
binfmt_elf: Use elf_load() for interpreter

fs/binfmt_elf.c | 192 ++++++++++++++++++------------------------------
1 file changed, 71 insertions(+), 121 deletions(-)

--
2.34.1