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@xxxxxxxxxx> --- 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