On 2019-07-27 00:56:32 [-0500], Scott Wood wrote: > This function is concerned with the long-term cpu mask, not the > transitory mask the task might have while migrate disabled. Before > this patch, if a task was migrate disabled at the time > __set_cpus_allowed_ptr() was called, and the new mask happened to be > equal to the cpu that the task was running on, then the mask update > would be lost. lost as in "would not be carried out" I assume. > Signed-off-by: Scott Wood <swood@xxxxxxxxxx> > --- > kernel/sched/core.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/kernel/sched/core.c b/kernel/sched/core.c > index c3407707e367..6e643d656d71 100644 > --- a/kernel/sched/core.c > +++ b/kernel/sched/core.c > @@ -1218,7 +1218,7 @@ static int __set_cpus_allowed_ptr(struct task_struct *p, > goto out; > } > > - if (cpumask_equal(p->cpus_ptr, new_mask)) > + if (cpumask_equal(&p->cpus_mask, new_mask)) > goto out; > > if (!cpumask_intersects(new_mask, cpu_valid_mask)) { Sebastian