]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
cpuset: Use new excpus for nocpu error check when enabling root partition
authorChen Ridong <chenridong@huawei.com>
Fri, 19 Sep 2025 01:12:27 +0000 (01:12 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 2 Nov 2025 13:15:21 +0000 (22:15 +0900)
[ Upstream commit 59d5de3655698679ad8fd2cc82228de4679c4263 ]

A previous patch fixed a bug where new_prs should be assigned before
checking housekeeping conflicts. This patch addresses another potential
issue: the nocpu error check currently uses the xcpus which is not updated.
Although no issue has been observed so far, the check should be performed
using the new effective exclusive cpus.

The comment has been removed because the function returns an error if
nocpu checking fails, which is unrelated to the parent.

Signed-off-by: Chen Ridong <chenridong@huawei.com>
Reviewed-by: Waiman Long <longman@redhat.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
kernel/cgroup/cpuset.c

index 25f9565f798d456ec0482b17a53e8578b7f674f3..13eb98617249903a66c609ed949fefe3cf8c56f2 100644 (file)
@@ -1679,11 +1679,7 @@ static int update_parent_effective_cpumask(struct cpuset *cs, int cmd,
                if (prstate_housekeeping_conflict(new_prs, xcpus))
                        return PERR_HKEEPING;
 
-               /*
-                * A parent can be left with no CPU as long as there is no
-                * task directly associated with the parent partition.
-                */
-               if (nocpu)
+               if (tasks_nocpu_error(parent, cs, xcpus))
                        return PERR_NOCPUS;
 
                deleting = cpumask_and(tmp->delmask, xcpus, parent->effective_xcpus);