diff options
Diffstat (limited to 'kernel/sched.c')
-rw-r--r-- | kernel/sched.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/kernel/sched.c b/kernel/sched.c index f8b8996228dd..a2d215d132f6 100644 --- a/kernel/sched.c +++ b/kernel/sched.c | |||
@@ -2494,7 +2494,16 @@ void sched_fork(struct task_struct *p, int clone_flags) | |||
2494 | if (p->sched_class->task_fork) | 2494 | if (p->sched_class->task_fork) |
2495 | p->sched_class->task_fork(p); | 2495 | p->sched_class->task_fork(p); |
2496 | 2496 | ||
2497 | /* | ||
2498 | * The child is not yet in the pid-hash so no cgroup attach races, | ||
2499 | * and the cgroup is pinned to this child due to cgroup_fork() | ||
2500 | * is ran before sched_fork(). | ||
2501 | * | ||
2502 | * Silence PROVE_RCU. | ||
2503 | */ | ||
2504 | rcu_read_lock(); | ||
2497 | set_task_cpu(p, cpu); | 2505 | set_task_cpu(p, cpu); |
2506 | rcu_read_unlock(); | ||
2498 | 2507 | ||
2499 | #if defined(CONFIG_SCHEDSTATS) || defined(CONFIG_TASK_DELAY_ACCT) | 2508 | #if defined(CONFIG_SCHEDSTATS) || defined(CONFIG_TASK_DELAY_ACCT) |
2500 | if (likely(sched_info_on())) | 2509 | if (likely(sched_info_on())) |