• Linus Torvalds's avatar
    Merge tag 'execve-v6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · d82c0a37
    Linus Torvalds authored
    Pull execve updates from Kees Cook:
    
     - Support non-BSS ELF segments with zero filesz
    
       Eric Biederman and I refactored ELF segment loading to handle the
       case where a segment has a smaller filesz than memsz. Traditionally
       linkers only did this for .bss and it was always the last segment. As
       a result, the kernel only handled this case when it was the last
       segment. We've had two recent cases where linkers were trying to use
       these kinds of segments for other reasons, and the were in the middle
       of the segment list. There was no good reason for the kernel not to
       support this, and the refactor actually ends up making things more
       readable too.
    
     - Enable namespaced binfmt_misc
    
       Christian Brauner has made it possible to use binfmt_misc with mount
       namespaces. This means some traditionally root-only interfaces (for
       adding/removing formats) are now more exposed (but believed to be
       safe).
    
     - Remove struct tag 'dynamic' from ELF UAPI
    
       Alejandro Colomar noticed that the ELF UAPI has been polluting the
       struct namespace with an unused and overly generic tag named
       "dynamic" for no discernible reason for many many years. After
       double-checking various distro source repositories, it has been
       removed.
    
     - Clean up binfmt_elf_fdpic debug output (Greg Ungerer)
    
    * tag 'execve-v6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
      binfmt_misc: enable sandboxed mounts
      binfmt_misc: cleanup on filesystem umount
      binfmt_elf_fdpic: clean up debug warnings
      mm: Remove unused vm_brk()
      binfmt_elf: Only report padzero() errors when PROT_WRITE
      binfmt_elf: Use elf_load() for library
      binfmt_elf: Use elf_load() for interpreter
      binfmt_elf: elf_bss no longer used by load_elf_binary()
      binfmt_elf: Support segments with 0 filesz and misaligned starts
      elf, uapi: Remove struct tag 'dynamic'
    d82c0a37
binfmt_misc.c 26.2 KB