aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/perf/arm-ccn.c
diff options
context:
space:
mode:
authorPeter Zijlstra <[email protected]>2021-02-24 10:31:09 +0000
committerIngo Molnar <[email protected]>2021-03-06 11:40:21 +0000
commit9e81889c7648d48dd5fe13f41cbc99f3c362484a (patch)
treee2b33a0421643459bbedd3333ac6f8264380aef7 /drivers/perf/arm-ccn.c
parentsched: Optimize migration_cpu_stop() (diff)
downloadkernel-9e81889c7648d48dd5fe13f41cbc99f3c362484a.tar.gz
kernel-9e81889c7648d48dd5fe13f41cbc99f3c362484a.zip
sched: Fix affine_move_task() self-concurrency
Consider: sched_setaffinity(p, X); sched_setaffinity(p, Y); Then the first will install p->migration_pending = &my_pending; and issue stop_one_cpu_nowait(pending); and the second one will read p->migration_pending and _also_ issue: stop_one_cpu_nowait(pending), the _SAME_ @pending. This causes stopper list corruption. Add set_affinity_pending::stop_pending, to indicate if a stopper is in progress. Fixes: 6d337eab041d ("sched: Fix migrate_disable() vs set_cpus_allowed_ptr()") Cc: [email protected] Signed-off-by: Peter Zijlstra (Intel) <[email protected]> Signed-off-by: Ingo Molnar <[email protected]> Reviewed-by: Valentin Schneider <[email protected]> Link: https://lkml.kernel.org/r/[email protected]
Diffstat (limited to 'drivers/perf/arm-ccn.c')
0 files changed, 0 insertions, 0 deletions