diff options
author | Christian Brauner <brauner@kernel.org> | 2023-03-27 20:22:51 +0200 |
---|---|---|
committer | Christian Brauner <brauner@kernel.org> | 2023-04-03 11:16:56 +0200 |
commit | 6ae930d9dbf2d093157be33428538c91966d8a9f (patch) | |
tree | a89117e5612341376fc147f26b9715c47013d27d /include/linux/pid.h | |
parent | 197b6b60ae7bc51dd0814953c562833143b292aa (diff) | |
download | linux-stable-6ae930d9dbf2d093157be33428538c91966d8a9f.tar.gz linux-stable-6ae930d9dbf2d093157be33428538c91966d8a9f.tar.bz2 linux-stable-6ae930d9dbf2d093157be33428538c91966d8a9f.zip |
pid: add pidfd_prepare()
Add a new helper that allows to reserve a pidfd and allocates a new
pidfd file that stashes the provided struct pid. This will allow us to
remove places that either open code this function or that call
pidfd_create() but then have to call close_fd() because there are still
failure points after pidfd_create() has been called.
Reviewed-by: Jan Kara <jack@suse.cz>
Message-Id: <20230327-pidfd-file-api-v1-1-5c0e9a3158e4@kernel.org>
Signed-off-by: Christian Brauner <brauner@kernel.org>
Diffstat (limited to 'include/linux/pid.h')
-rw-r--r-- | include/linux/pid.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/pid.h b/include/linux/pid.h index 343abf22092e..b75de288a8c2 100644 --- a/include/linux/pid.h +++ b/include/linux/pid.h @@ -80,6 +80,7 @@ extern struct pid *pidfd_pid(const struct file *file); struct pid *pidfd_get_pid(unsigned int fd, unsigned int *flags); struct task_struct *pidfd_get_task(int pidfd, unsigned int *flags); int pidfd_create(struct pid *pid, unsigned int flags); +int pidfd_prepare(struct pid *pid, unsigned int flags, struct file **ret); static inline struct pid *get_pid(struct pid *pid) { |