Hello!
v7: - break out sock usage counting fixes into more cleanly backportable pieces - code style cleanups (christian) - clarify addfd commit log (christian) - add ..._SIZE_{VER0,LATEST} and BUILD_BUG_ON()s (christian) - remove undef (christian) - fix addfd embedded URL reference numbers v6: https://lore.kernel.org/lkml/20200706201720.3482959-1-keescook@chromium.org/
This continues the thread-merge between [1] and [2]. tl;dr: add a way for a seccomp user_notif process manager to inject files into the managed process in order to handle emulation of various fd-returning syscalls across security boundaries. Containers folks and Chrome are in need of the feature, and investigating this solution uncovered (and fixed) implementation issues with existing file sending routines.
I intend to carry this in the for-next/seccomp tree, unless someone has objections. :) Please review and test!
-Kees
[1] https://lore.kernel.org/lkml/20200603011044.7972-1-sargun@sargun.me/ [2] https://lore.kernel.org/lkml/20200610045214.1175600-1-keescook@chromium.org/
Kees Cook (7): net/compat: Add missing sock updates for SCM_RIGHTS pidfd: Add missing sock updates for pidfd_getfd() net/scm: Regularize compat handling of scm_detach_fds() fs: Move __scm_install_fd() to __receive_fd() fs: Add receive_fd() wrapper for __receive_fd() pidfd: Replace open-coded receive_fd() fs: Expand __receive_fd() to accept existing fd
Sargun Dhillon (2): seccomp: Introduce addfd ioctl to seccomp user notifier selftests/seccomp: Test SECCOMP_IOCTL_NOTIF_ADDFD
fs/file.c | 57 +++++ include/linux/file.h | 19 ++ include/linux/seccomp.h | 4 + include/net/sock.h | 4 + include/uapi/linux/seccomp.h | 22 ++ kernel/pid.c | 14 +- kernel/seccomp.c | 173 ++++++++++++- net/compat.c | 55 ++--- net/core/scm.c | 50 +--- net/core/sock.c | 21 ++ tools/testing/selftests/seccomp/seccomp_bpf.c | 229 ++++++++++++++++++ 11 files changed, 566 insertions(+), 82 deletions(-)