| From: |
| Christian Brauner <brauner-AT-kernel.org> |
| To: |
| Oleg Nesterov <oleg-AT-redhat.com> |
| Subject: |
| [PATCH RFC 00/10] pidfs: provide information after task has been reaped |
| Date: |
| Fri, 28 Feb 2025 13:44:00 +0100 |
| Message-ID: |
| <20250228-work-pidfs-kill_on_last_close-v1-0-5bd7e6bb428e@kernel.org> |
| Cc: |
| linux-fsdevel-AT-vger.kernel.org, Jeff Layton <jlayton-AT-kernel.org>, Lennart Poettering <lennart-AT-poettering.net>, Daan De Meyer <daan.j.demeyer-AT-gmail.com>, Mike Yuan <me-AT-yhndnzj.com>, Christian Brauner <brauner-AT-kernel.org> |
| Archive-link: |
| Article |
Hey,
Various tools need access to information about a process/task even after
it has already been reaped. For example, systemd's journal logs
and uses such information as the cgroup id and exit status to deal with
processes that have been sent via SCM_PIDFD or SCM_PEERPIDFD. By the
time the pidfd is received the process might've already exited or even
been reaped.
This series aims to provide information by extending the PIDFD_GET_INFO
ioctl to retrieve the exit code and cgroup id. There might be other
stuff that we would want in the future.
Note, this is and RFC and it has a bunch of TODOs/questions in comments.
Signed-off-by: Christian Brauner <brauner@kernel.org>
---
Christian Brauner (10):
pidfs: switch to copy_struct_to_user()
pidfd: rely on automatic cleanup in __pidfd_prepare()
pidfs: move setting flags into pidfs_alloc_file()
pidfs: add inode allocation
pidfs: record exit code and cgroupid at exit
pidfs: allow to retrieve exit information
selftests/pidfd: fix header inclusion
pidfs/selftests: ensure correct headers for ioctl handling
selftests/pidfd: move more defines to common header
selftests/pidfd: add PIDFD_INFO_EXIT tests
fs/internal.h | 1 +
fs/libfs.c | 4 +-
fs/pidfs.c | 170 ++++++++++++++++++--
include/linux/pidfs.h | 1 +
include/uapi/linux/pidfd.h | 3 +-
kernel/exit.c | 2 +
kernel/fork.c | 15 +-
tools/testing/selftests/pidfd/.gitignore | 1 +
tools/testing/selftests/pidfd/Makefile | 2 +-
tools/testing/selftests/pidfd/pidfd.h | 82 ++++++++++
tools/testing/selftests/pidfd/pidfd_fdinfo_test.c | 1 +
tools/testing/selftests/pidfd/pidfd_info_test.c | 185 ++++++++++++++++++++++
tools/testing/selftests/pidfd/pidfd_open_test.c | 26 ---
tools/testing/selftests/pidfd/pidfd_setns_test.c | 45 ------
14 files changed, 439 insertions(+), 99 deletions(-)
---
base-commit: b1e809e7f64ad47dd232ff072d8ef59c1fe414c5
change-id: 20250227-work-pidfs-kill_on_last_close-a23ddf21db47