pidfs: register pid in pidfs
authorChristian Brauner <brauner@kernel.org>
Fri, 25 Apr 2025 08:11:30 +0000 (10:11 +0200)
committerChristian Brauner <brauner@kernel.org>
Sat, 26 Apr 2025 06:27:33 +0000 (08:27 +0200)
commit477058411c45f225ddfbb4769e35a9a5a95cb826
tree3bd3301cb35f7032980a66b347bbf4997e47d8c7
parentb590c928cca7bdc7fd580d52e42bfdc3ac5eeacb
pidfs: register pid in pidfs

Add simple helpers that allow a struct pid to be pinned via a pidfs
dentry/inode. If no pidfs dentry exists a new one will be allocated for
it. A reference is taken by pidfs on @pid. The reference must be
released via pidfs_put_pid().

This will allow AF_UNIX sockets to allocate a dentry for the peer
credentials pid at the time they are recorded where we know the task is
still alive. When the task gets reaped its exit status is guaranteed to
be recorded and a pidfd can be handed out for the reaped task.

Link: https://lore.kernel.org/20250425-work-pidfs-net-v2-1-450a19461e75@kernel.org
Reviewed-by: Oleg Nesterov <oleg@redhat.com>
Reviewed-by: David Rheinsberg <david@readahead.eu>
Signed-off-by: Christian Brauner <brauner@kernel.org>
fs/pidfs.c
include/linux/pidfs.h