diff options
Diffstat (limited to 'rust/helpers/pid_namespace.c')
| -rw-r--r-- | rust/helpers/pid_namespace.c | 26 | 
1 files changed, 26 insertions, 0 deletions
| diff --git a/rust/helpers/pid_namespace.c b/rust/helpers/pid_namespace.c new file mode 100644 index 000000000000..f41482bdec9a --- /dev/null +++ b/rust/helpers/pid_namespace.c @@ -0,0 +1,26 @@ +// SPDX-License-Identifier: GPL-2.0 + +#include <linux/pid_namespace.h> +#include <linux/cleanup.h> + +struct pid_namespace *rust_helper_get_pid_ns(struct pid_namespace *ns) +{ +	return get_pid_ns(ns); +} + +void rust_helper_put_pid_ns(struct pid_namespace *ns) +{ +	put_pid_ns(ns); +} + +/* Get a reference on a task's pid namespace. */ +struct pid_namespace *rust_helper_task_get_pid_ns(struct task_struct *task) +{ +	struct pid_namespace *pid_ns; + +	guard(rcu)(); +	pid_ns = task_active_pid_ns(task); +	if (pid_ns) +		get_pid_ns(pid_ns); +	return pid_ns; +} | 
