On 8/25/25 20:41, Konstantin Khorenko wrote:
If we fail to alloc ve_struct, we'll crash here on setting VE state. Fixes: 666e40b308457 ("ve/cgroups: Drop lock when stopping workqueue to avoid dead lock") Signed-off-by: Konstantin Khorenko <khore...@virtuozzo.com> Feature: ve: ve generic structures --- kernel/ve/ve.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/ve/ve.c b/kernel/ve/ve.c index 146f7922d4856..1d7e04bb7f3fb 100644 --- a/kernel/ve/ve.c +++ b/kernel/ve/ve.c @@ -1028,9 +1028,9 @@ static struct cgroup_subsys_state *ve_create(struct cgroup_subsys_state *parent_ err_log: free_percpu(ve->sched_lat_ve.cur); err_lat: + ve_set_state(ve, VE_STATE_DEAD); kmem_cache_free(ve_cachep, ve); err_ve: - ve_set_state(ve, VE_STATE_STOPPED);
Why do we change s/VE_STATE_STOPPED/VE_STATE_DEAD/ ? As far as I can see VE_STATE_DEAD is for destroyed cgroup only. I don't think this change is correct.
Other thing, the label "err_ve" after this patch is only doing return, codding style dictates that we remove it and return directly instead of jumping to this label.
> If there is no cleanup needed then just return directly. https://www.kernel.org/doc/html/v4.10/process/coding-style.html#centralized-exiting-of-functions
return ERR_PTR(err); }
-- Best regards, Pavel Tikhomirov Senior Software Developer, Virtuozzo. _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel