fs: Expand __receive_fd() to accept existing fd
authorKees Cook <keescook@chromium.org>
Wed, 10 Jun 2020 15:46:58 +0000 (08:46 -0700)
committerKees Cook <keescook@chromium.org>
Mon, 13 Jul 2020 18:03:45 +0000 (11:03 -0700)
commit173817151b15d5a72a9bef1d2df7e6e7f6750f2e
tree16375b677a419dd9405ec53183315afc85e25c1e
parent910d2f16ac90463a1f5b03d53246c443e2b354b9
fs: Expand __receive_fd() to accept existing fd

Expand __receive_fd() with support for replace_fd() for the coming seccomp
"addfd" ioctl(). Add new wrapper receive_fd_replace() for the new behavior
and update existing wrappers to retain old behavior.

Thanks to Colin Ian King <colin.king@canonical.com> for pointing out an
uninitialized variable exposure in an earlier version of this patch.

Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Cc: Dmitry Kadashev <dkadashev@gmail.com>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: linux-fsdevel@vger.kernel.org
Reviewed-by: Sargun Dhillon <sargun@sargun.me>
Acked-by: Christian Brauner <christian.brauner@ubuntu.com>
Signed-off-by: Kees Cook <keescook@chromium.org>
fs/file.c
include/linux/file.h