forked from mirrors/linux
Extend the PIDFD_INFO_COREDUMP ioctl() with the new PIDFD_INFO_COREDUMP mask flag. This adds the @coredump_mask field to struct pidfd_info. When a task coredumps the kernel will provide the following information to userspace in @coredump_mask: * PIDFD_COREDUMPED is raised if the task did actually coredump. * PIDFD_COREDUMP_SKIP is raised if the task skipped coredumping (e.g., undumpable). * PIDFD_COREDUMP_USER is raised if this is a regular coredump and doesn't need special care by the coredump server. * PIDFD_COREDUMP_ROOT is raised if the generated coredump should be treated as sensitive and the coredump server should restrict to the generated coredump to sufficiently privileged users. The kernel guarantees that by the time the connection is made the all PIDFD_INFO_COREDUMP info is available. Link: https://lore.kernel.org/20250516-work-coredump-socket-v8-5-664f3caf2516@kernel.org Acked-by: Luca Boccassi <luca.boccassi@gmail.com> Reviewed-by: Alexander Mikhalitsyn <aleksandr.mikhalitsyn@canonical.com> Reviewed-by: Jann Horn <jannh@google.com> Signed-off-by: Christian Brauner <brauner@kernel.org>
20 lines
625 B
C
20 lines
625 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef _LINUX_PID_FS_H
|
|
#define _LINUX_PID_FS_H
|
|
|
|
struct coredump_params;
|
|
|
|
struct file *pidfs_alloc_file(struct pid *pid, unsigned int flags);
|
|
void __init pidfs_init(void);
|
|
void pidfs_add_pid(struct pid *pid);
|
|
void pidfs_remove_pid(struct pid *pid);
|
|
void pidfs_exit(struct task_struct *tsk);
|
|
#ifdef CONFIG_COREDUMP
|
|
void pidfs_coredump(const struct coredump_params *cprm);
|
|
#endif
|
|
extern const struct dentry_operations pidfs_dentry_operations;
|
|
int pidfs_register_pid(struct pid *pid);
|
|
void pidfs_get_pid(struct pid *pid);
|
|
void pidfs_put_pid(struct pid *pid);
|
|
|
|
#endif /* _LINUX_PID_FS_H */
|