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 f661b76b72b5b36d2e984a621dce0a8d0b86ba1f
Author: Pavel Tikhomirov <[email protected]>
Date:   Mon Nov 24 19:20:50 2025 +0800

    ve: Guard ve from ve_list with ve_list_lock
    
    Else we can get use after free on ve_struct.
    
    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/ve/vecalls.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/kernel/ve/vecalls.c b/kernel/ve/vecalls.c
index 6caf269fe5040..a9e82a1335403 100644
--- a/kernel/ve/vecalls.c
+++ b/kernel/ve/vecalls.c
@@ -120,6 +120,8 @@ static int vestat_seq_show(struct seq_file *m, void *v)
        struct kernel_cpustat kstat;
 
        entry = (struct list_head *)v;
+
+       guard(mutex)(&ve_list_lock);
        ve = list_entry(entry, struct ve_struct, ve_list);
 
        curve = get_exec_env();
@@ -275,6 +277,7 @@ static int veinfo_seq_show(struct seq_file *m, void *v)
 {
        struct ve_struct *ve;
 
+       guard(mutex)(&ve_list_lock);
        ve = list_entry((struct list_head *)v, struct ve_struct, ve_list);
 
        /* second 0 is deprecated ve->class_id */
_______________________________________________
Devel mailing list
[email protected]
https://lists.openvz.org/mailman/listinfo/devel

Reply via email to