[Devel] [PATCH vz10 v3 1/2] ve: introduce task_pid_ve_nr
Aleksei Oladko
aleksey.oladko at virtuozzo.com
Tue Nov 25 19:40:55 MSK 2025
The new helper returns pid in root pidns of VE
v3: used tsk instead of current
Signed-off-by: Aleksei Oladko <aleksey.oladko at virtuozzo.com>
---
include/linux/ve.h | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/include/linux/ve.h b/include/linux/ve.h
index 37562dff25aa..c040a1e3f4de 100644
--- a/include/linux/ve.h
+++ b/include/linux/ve.h
@@ -21,6 +21,7 @@
#include <asm/vdso.h>
#include <linux/time_namespace.h>
#include <linux/binfmts.h>
+#include <linux/pid.h>
struct nsproxy;
struct user_namespace;
@@ -191,6 +192,22 @@ static inline struct ve_struct *css_to_ve(struct cgroup_subsys_state *css)
extern struct cgroup_subsys_state *ve_get_init_css(struct ve_struct *ve, int subsys_id);
+static inline pid_t task_pid_ve_nr(struct task_struct *tsk)
+{
+ struct nsproxy *ve_ns;
+ pid_t pid;
+
+ rcu_read_lock();
+ ve_ns = rcu_dereference(tsk->task_ve->ve_ns);
+ if (ve_ns)
+ pid = task_pid_nr_ns(tsk, ve_ns->pid_ns_for_children);
+ else
+ pid = task_pid_nr(tsk);
+ rcu_read_unlock();
+
+ return pid;
+}
+
static inline struct time_namespace *ve_get_time_ns(struct ve_struct *ve)
{
struct nsproxy *ve_ns;
--
2.43.0
More information about the Devel
mailing list