The commit is pushed to "branch-rh10-6.12.0-55.13.1.2.x.vz10-ovz" and will
appear at [email protected]:openvz/vzkernel.git
after rh10-6.12.0-55.13.1.2.21.vz10
------>
commit 44c3844a0fefb2a790a31be983c40cb52b3eb8c5
Author: Pavel Tikhomirov <[email protected]>
Date: Mon Nov 24 19:20:44 2025 +0800
ve: Switch from current->task_ve to get_exec_env()
Let's use get_exec_env() everywhere instead of having part of places
using it and part of places using current->task_ve.
Note: In ve_start_container we technically have tsk->task_ve, but tsk is
always equal to current, so let's simplify it.
https://virtuozzo.atlassian.net/browse/VSTOR-118289
Signed-off-by: Pavel Tikhomirov <[email protected]>
Feature: ve: ve generic structures
======
Patchset description:
ve: Add VE namespace
Main ideas behind VE namespace explained in "ve: Introduce VE
namespace".
---
kernel/exit.c | 3 ++-
kernel/ve/ve.c | 6 +++---
2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/kernel/exit.c b/kernel/exit.c
index f5b40a392988e..922c0e3f62363 100644
--- a/kernel/exit.c
+++ b/kernel/exit.c
@@ -71,6 +71,7 @@
#include <linux/sysfs.h>
#include <linux/user_events.h>
#include <linux/uaccess.h>
+#include <linux/ve.h>
#include <uapi/linux/wait.h>
@@ -557,7 +558,7 @@ static void exit_mm(void)
#ifdef CONFIG_VE
#define K(x) ((x) << (PAGE_SHIFT-10))
- if (!ve_is_super(current->task_ve) &&
+ if (!ve_is_super(get_exec_env()) &&
test_tsk_thread_flag(current, TIF_MEMDIE))
ve_printk(VE_LOG, KERN_ERR "OOM killed process %d (%s) "
"total-vm:%lukB, anon-rss:%lukB, file-rss:%lukB\n",
diff --git a/kernel/ve/ve.c b/kernel/ve/ve.c
index 1bde9c27f8683..ba0d64dea7b2e 100644
--- a/kernel/ve/ve.c
+++ b/kernel/ve/ve.c
@@ -707,7 +707,7 @@ static int ve_start_container(struct ve_struct *ve)
if (ve->state != VE_STATE_STARTING || ve_nsproxy)
return -EBUSY;
- if (tsk->task_ve != ve || !is_child_reaper(task_pid(tsk)))
+ if (get_exec_env() != ve || !is_child_reaper(task_pid(tsk)))
return -ECHILD;
/*
@@ -790,7 +790,7 @@ static int ve_start_container(struct ve_struct *ve)
void ve_stop_ns(struct pid_namespace *pid_ns)
{
- struct ve_struct *ve = current->task_ve;
+ struct ve_struct *ve = get_exec_env();
struct nsproxy *ve_nsproxy;
down_write(&ve->op_sem);
@@ -842,7 +842,7 @@ void ve_stop_ns(struct pid_namespace *pid_ns)
void ve_exit_ns(struct pid_namespace *pid_ns)
{
- struct ve_struct *ve = current->task_ve;
+ struct ve_struct *ve = get_exec_env();
struct nsproxy *ve_nsproxy;
/*
_______________________________________________
Devel mailing list
[email protected]
https://lists.openvz.org/mailman/listinfo/devel