xref: /linux/rust/helpers/pid_namespace.c (revision 7f71507851fc7764b36a3221839607d3a45c2025)
1 // SPDX-License-Identifier: GPL-2.0
2 
3 #include <linux/pid_namespace.h>
4 #include <linux/cleanup.h>
5 
6 struct pid_namespace *rust_helper_get_pid_ns(struct pid_namespace *ns)
7 {
8 	return get_pid_ns(ns);
9 }
10 
11 void rust_helper_put_pid_ns(struct pid_namespace *ns)
12 {
13 	put_pid_ns(ns);
14 }
15 
16 /* Get a reference on a task's pid namespace. */
17 struct pid_namespace *rust_helper_task_get_pid_ns(struct task_struct *task)
18 {
19 	struct pid_namespace *pid_ns;
20 
21 	guard(rcu)();
22 	pid_ns = task_active_pid_ns(task);
23 	if (pid_ns)
24 		get_pid_ns(pid_ns);
25 	return pid_ns;
26 }
27