]> git.baikalelectronics.ru Git - kernel.git/commit
sched: Fix yet more sched_fork() races
authorPeter Zijlstra <peterz@infradead.org>
Mon, 14 Feb 2022 09:16:57 +0000 (10:16 +0100)
committerPeter Zijlstra <peterz@infradead.org>
Sat, 19 Feb 2022 10:11:05 +0000 (11:11 +0100)
commitfafa4ddb15b5df4fa6dd80defbea411565a109bf
tree75b3f3e6b2a396995b68db17b96efa51b4e499a6
parent61541caa89658fea194830baa7a6d9bd537331be
sched: Fix yet more sched_fork() races

Where commit d6429f3c11e2 ("kernel/sched: Fix sched_fork() access an
invalid sched_task_group") fixed a fork race vs cgroup, it opened up a
race vs syscalls by not placing the task on the runqueue before it
gets exposed through the pidhash.

Commit 1229cf48840e ("sched/fair: Fix fault in reweight_entity") is
trying to fix a single instance of this, instead fix the whole class
of issues, effectively reverting this commit.

Fixes: d6429f3c11e2 ("kernel/sched: Fix sched_fork() access an invalid sched_task_group")
Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Tested-by: Tadeusz Struk <tadeusz.struk@linaro.org>
Tested-by: Zhang Qiao <zhangqiao22@huawei.com>
Tested-by: Dietmar Eggemann <dietmar.eggemann@arm.com>
Link: https://lkml.kernel.org/r/YgoeCbwj5mbCR0qA@hirez.programming.kicks-ass.net
include/linux/sched/task.h
kernel/fork.c
kernel/sched/core.c