[Devel] [PATCH VZ10] cgroup: use __cset_cgroup_from_root in VZ slice join/leave

Pavel Tikhomirov ptikhomirov at virtuozzo.com
Wed Apr 15 12:02:41 MSK 2026



On 4/15/26 11:00, Pavel Tikhomirov wrote:
> 
> 
> On 4/2/26 09:36, Vasileios Almpanis wrote:
>> cset_cgroup_from_root() uses lockdep_assert_held(&css_set_lock), but
>> cgroup_join_vz_slice() and cgroup_leave_vz_slice() only stabilize the VE
>> nsproxy/cgroup_ns root_cset via rcu_dereference_protected().
>> For the default hierarchy the result is just cset->dfl_cgrp, which is
>> safe to read without css_set_lock (see current_cgns_cgroup_dfl()).
>> Call __cset_cgroup_from_root() instead so lockdep matches the actual
>> locking rules.
>>
>> https://virtuozzo.atlassian.net/browse/VSTOR-128317
>>

Fixes: f74e12f9f249 ("ve/cgroup: add vz.slice cgroup to put kernel threads to")

>> Signed-off-by: Vasileios Almpanis <vasileios.almpanis at virtuozzo.com>
> 
> Reviewed-by: Pavel Tikhomirov <ptikhomirov at virtuozzo.com>
> 
>>
>> Feature: ve: ve generic structures
>> ---
>>  kernel/cgroup/cgroup.c | 4 ++--
>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/kernel/cgroup/cgroup.c b/kernel/cgroup/cgroup.c
>> index 376c9bbd1c41..932414b882dd 100644
>> --- a/kernel/cgroup/cgroup.c
>> +++ b/kernel/cgroup/cgroup.c
>> @@ -2243,7 +2243,7 @@ int cgroup_join_vz_slice(struct ve_struct *ve)
>>  	int ret;
>>  
>>  	cset = rcu_dereference_protected(ve->ve_nsproxy, 1)->cgroup_ns->root_cset;
>> -	cgrp = cset_cgroup_from_root(cset, &cgrp_dfl_root);
>> +	cgrp = __cset_cgroup_from_root(cset, &cgrp_dfl_root);
>>  
>>  	if (!is_virtualized_cgroup(cgrp) ||
>>  	    !test_bit(CGRP_VE_ROOT, &cgrp->flags))
>> @@ -2278,7 +2278,7 @@ int cgroup_leave_vz_slice(struct ve_struct *ve)
>>  	struct cgroup *cgrp;
>>  
>>  	cset = rcu_dereference_protected(ve->ve_nsproxy, 1)->cgroup_ns->root_cset;
>> -	cgrp = cset_cgroup_from_root(cset, &cgrp_dfl_root);
>> +	cgrp = __cset_cgroup_from_root(cset, &cgrp_dfl_root);
>>  
>>  	if (!is_virtualized_cgroup(cgrp) ||
>>  	    !test_bit(CGRP_VE_ROOT, &cgrp->flags))
> 

-- 
Best regards, Pavel Tikhomirov
Senior Software Developer, Virtuozzo.



More information about the Devel mailing list