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 - refactor load_elf_interp() to use elf_load() - refactor load_elf_library() to use elf_load() - report padzero() errors when PROT_WRITE is present - drop vm_brk() Thanks! -Kees v4: - refactor load_elf_library() too - don't refactor padzero(), just test in the only remaining caller - drop now-unused vm_brk() v3: https://lore.kernel.org/all/20230927033634.make.602-kees@xxxxxxxxxx v2: https://lore.kernel.org/lkml/87sf71f123.fsf@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx v1: https://lore.kernel.org/lkml/87jzsemmsd.fsf_-_@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Eric W. Biederman (1): binfmt_elf: Support segments with 0 filesz and misaligned starts Kees Cook (5): binfmt_elf: elf_bss no longer used by load_elf_binary() binfmt_elf: Use elf_load() for interpreter binfmt_elf: Use elf_load() for library binfmt_elf: Only report padzero() errors when PROT_WRITE mm: Remove unused vm_brk() fs/binfmt_elf.c | 214 ++++++++++++++++----------------------------- include/linux/mm.h | 3 +- mm/mmap.c | 6 -- mm/nommu.c | 5 -- 4 files changed, 76 insertions(+), 152 deletions(-) -- 2.34.1