Merge branch 'work.elf-compat' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
authorLinus Torvalds <torvalds@linux-foundation.org>
Sun, 21 Feb 2021 17:29:23 +0000 (09:29 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sun, 21 Feb 2021 17:29:23 +0000 (09:29 -0800)
Pull ELF compat updates from Al Viro:
 "Sanitizing ELF compat support, especially for triarch architectures:

   - X32 handling cleaned up

   - MIPS64 uses compat_binfmt_elf.c both for O32 and N32 now

   - Kconfig side of things regularized

  Eventually I hope to have compat_binfmt_elf.c killed, with both native
  and compat built from fs/binfmt_elf.c, with -DELF_BITS={64,32} passed
  by kbuild, but that's a separate story - not included here"

* 'work.elf-compat' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
  get rid of COMPAT_ELF_EXEC_PAGESIZE
  compat_binfmt_elf: don't bother with undef of ELF_ARCH
  Kconfig: regularize selection of CONFIG_BINFMT_ELF
  mips compat: switch to compat_binfmt_elf.c
  mips: don't bother with ELF_CORE_EFLAGS
  mips compat: don't bother with ELF_ET_DYN_BASE
  mips: KVM_GUEST makes no sense for 64bit builds...
  mips: kill unused definitions in binfmt_elf[on]32.c
  mips binfmt_elf*32.c: use elfcore-compat.h
  x32: make X32, !IA32_EMULATION setups able to execute x32 binaries
  [amd64] clean PRSTATUS_SIZE/SET_PR_FPVALID up properly
  elf_prstatus: collect the common part (everything before pr_reg) into a struct
  binfmt_elf: partially sanitize PRSTATUS_SIZE and SET_PR_FPVALID

1  2 
arch/Kconfig
arch/arm64/Kconfig
arch/parisc/Kconfig
arch/s390/Kconfig
arch/x86/Kconfig
fs/Kconfig.binfmt
kernel/kexec_core.c

diff --cc arch/Kconfig
@@@ -1105,12 -1105,9 +1105,15 @@@ config HAVE_ARCH_PFN_VALI
  config ARCH_SUPPORTS_DEBUG_PAGEALLOC
        bool
  
 +config ARCH_SPLIT_ARG64
 +      bool
 +      help
 +         If a 32-bit architecture requires 64-bit arguments to be split into
 +         pairs of 32-bit arguments, select this option.
 +
+ config ARCH_HAS_ELFCORE_COMPAT
+       bool
  source "kernel/gcov/Kconfig"
  
  source "scripts/gcc-plugins/Kconfig"
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge