xref: /linux/rust/helpers/task.c (revision b04e317b522630b46f78ee62ecbdc5734e8d43de)
1  // SPDX-License-Identifier: GPL-2.0
2  
3  #include <linux/sched/task.h>
4  
5  struct task_struct *rust_helper_get_current(void)
6  {
7  	return current;
8  }
9  
10  void rust_helper_get_task_struct(struct task_struct *t)
11  {
12  	get_task_struct(t);
13  }
14  
15  void rust_helper_put_task_struct(struct task_struct *t)
16  {
17  	put_task_struct(t);
18  }
19  
20  kuid_t rust_helper_task_uid(struct task_struct *task)
21  {
22  	return task_uid(task);
23  }
24  
25  kuid_t rust_helper_task_euid(struct task_struct *task)
26  {
27  	return task_euid(task);
28  }
29  
30  #ifndef CONFIG_USER_NS
31  uid_t rust_helper_from_kuid(struct user_namespace *to, kuid_t uid)
32  {
33  	return from_kuid(to, uid);
34  }
35  #endif /* CONFIG_USER_NS */
36  
37  bool rust_helper_uid_eq(kuid_t left, kuid_t right)
38  {
39  	return uid_eq(left, right);
40  }
41  
42  kuid_t rust_helper_current_euid(void)
43  {
44  	return current_euid();
45  }
46  
47  struct user_namespace *rust_helper_current_user_ns(void)
48  {
49  	return current_user_ns();
50  }
51  
52  pid_t rust_helper_task_tgid_nr_ns(struct task_struct *tsk,
53  				  struct pid_namespace *ns)
54  {
55  	return task_tgid_nr_ns(tsk, ns);
56  }
57