[GIT PULL] execve updates for v6.2-rc1

From: Kees Cook
Date: Mon Dec 05 2022 - 19:41:43 EST


Hi Linus,

Please pull these execve updates for v6.2-rc1. Most are small
refactorings and bug fixes, but three things stand out: switching timens
(which got reverted before) looks solid now, FOLL_FORCE has been removed
(no failures seen yet across several weeks in -next), and some
whitespace cleanups (which are long overdue). The latter does end up
conflicting with changes from Al[1], but should be trivial to resolve.

Thanks!

-Kees

[1] https://lore.kernel.org/linux-next/20221128143704.3fe8f7b1@xxxxxxxxxxxxxxxx/

The following changes since commit 9abf2313adc1ca1b6180c508c25f22f9395cc780:

Linux 6.1-rc1 (2022-10-16 15:36:24 -0700)

are available in the Git repository at:

https://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git tags/execve-v6.2-rc1

for you to fetch changes up to 6a46bf558803dd2b959ca7435a5c143efe837217:

binfmt_misc: fix shift-out-of-bounds in check_special_flags (2022-12-02 13:57:04 -0800)

----------------------------------------------------------------
execve updates for v6.2-rc1

- Add timens support (when switching mm). This version has survived
in -next for the entire cycle (Andrei Vagin).

- Various small bug fixes, refactoring, and readability improvements
(Bernd Edlinger, Rolf Eike Beer, Bo Liu, Li Zetao Liu Shixin).

- Remove FOLL_FORCE for stack setup (Kees Cook).

- Whilespace cleanups (Rolf Eike Beer, Kees Cook).

----------------------------------------------------------------
Andrei Vagin (2):
fs/exec: switch timens when a task gets a new mm
selftests/timens: add a test for vfork+exit

Bernd Edlinger (1):
exec: Copy oldsighand->action under spin-lock

Bo Liu (1):
binfmt_elf: replace IS_ERR() with IS_ERR_VALUE()

Kees Cook (3):
exec: Add comments on check_unsafe_exec() fs counting
binfmt: Fix whitespace issues
exec: Remove FOLL_FORCE for stack setup

Li Zetao (1):
fs/binfmt_elf: Fix memory leak in load_elf_binary()

Liu Shixin (1):
binfmt_misc: fix shift-out-of-bounds in check_special_flags

Rolf Eike Beer (4):
ELF uapi: add spaces before '{'
exec: simplify initial stack size expansion
binfmt_elf: fix documented return value for load_elf_phdrs()
binfmt_elf: simplify error handling in load_elf_phdrs()

Wang Yufen (1):
binfmt: Fix error return code in load_elf_fdpic_binary()

fs/binfmt_elf.c | 35 +++----
fs/binfmt_elf_fdpic.c | 7 +-
fs/binfmt_misc.c | 8 +-
fs/exec.c | 38 +++++---
include/linux/nsproxy.h | 1 +
include/uapi/linux/elf.h | 14 +--
kernel/fork.c | 9 --
kernel/nsproxy.c | 23 ++++-
tools/testing/selftests/timens/.gitignore | 1 +
tools/testing/selftests/timens/Makefile | 2 +-
tools/testing/selftests/timens/vfork_exec.c | 139 ++++++++++++++++++++++++++++
11 files changed, 219 insertions(+), 58 deletions(-)
create mode 100644 tools/testing/selftests/timens/vfork_exec.c

--
Kees Cook