The commit is pushed to "branch-rh7-3.10.0-1127.18.2.vz7.163.x-ovz" and will 
appear at https://src.openvz.org/scm/ovz/vzkernel.git
after rh7-3.10.0-1127.18.2.vz7.163.41
------>
commit 089cdc112a232fa6cbdf59f2fee40b58563c67f1
Author: Kirill Tkhai <ktk...@virtuozzo.com>
Date:   Thu Oct 29 17:03:07 2020 +0300

    ve: Reorder ve->ve_ns assignment in ve_grab_context()
    
    This function must provide guarantees for readers, that
    "ve_ns != NULL" under rcu_read_lock means the rest of context
    (say, ve->init_task) is stable.
    
    But now order is wrong, and it does not guarantee that. Fix it.
    
    Signed-off-by: Kirill Tkhai <ktk...@virtuozzo.com>
---
 kernel/ve/ve.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/kernel/ve/ve.c b/kernel/ve/ve.c
index 482d658..ff3bf93 100644
--- a/kernel/ve/ve.c
+++ b/kernel/ve/ve.c
@@ -586,9 +586,10 @@ static void ve_grab_context(struct ve_struct *ve)
        ve->root_css_set = tsk->cgroups;
        get_css_set(ve->root_css_set);
        ve->init_cred = (struct cred *)get_current_cred();
-       rcu_assign_pointer(ve->ve_ns, get_nsproxy(tsk->nsproxy));
        ve->ve_netns =  get_net(ve->ve_ns->net_ns);
        synchronize_rcu();
+
+       rcu_assign_pointer(ve->ve_ns, get_nsproxy(tsk->nsproxy));
 }
 
 static void ve_drop_context(struct ve_struct *ve)
_______________________________________________
Devel mailing list
Devel@openvz.org
https://lists.openvz.org/mailman/listinfo/devel

Reply via email to