On Fri, Mar 17, 2023 at 11:15:05AM -0400, Waiman Long wrote:
It was found that commit 7a2127e66a00 ("cpuset: Call set_cpus_allowed_ptr() with appropriate mask for task") introduced a bug that corrupted "cpuset.cpus" of a partition root when it was updated.
It is because the tmp->new_cpus field of the passed tmp parameter of update_parent_subparts_cpumask() should not be used at all as it contains important cpumask data that should not be overwritten. Fix it by using tmp->addmask instead.
Also update update_cpumask() to make sure that trialcs->cpu_allowed will not be corrupted until it is no longer needed.
Fixes: 7a2127e66a00 ("cpuset: Call set_cpus_allowed_ptr() with appropriate mask for task") Signed-off-by: Waiman Long longman@redhat.com
Applied to cgroup/for-6.3-fixes w/ stable cc'd.
Thanks.