• Waiman Long's avatar
    cgroup/cpuset: Fix partition root's cpuset.cpus update bug · 292fd843
    Waiman Long authored
    It was found that commit 7a2127e6 ("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: 7a2127e6 ("cpuset: Call set_cpus_allowed_ptr() with appropriate mask for task")
    Signed-off-by: default avatarWaiman Long <longman@redhat.com>
    Cc: stable@vger.kernel.org # v6.2+
    Signed-off-by: default avatarTejun Heo <tj@kernel.org>
    292fd843
cpuset.c 114 KB