Prev: [PATCH tip/core/urgent 1/3] rcu: fix lockdep splat in wake_affine()
Next: [PATCH] drivers/staging/batman-adv: Use (pr|netdev)_<level> macro helpers
From: Paul E. McKenney on 15 Jun 2010 18:40 The RCU read-side critical section needs to cover all uses of the pointer returned by task_group(). Located-by: Li Zefan <lizf(a)cn.fujitsu.com> Signed-off-by: Paul E. McKenney <paulmck(a)linux.vnet.ibm.com> --- kernel/sched_fair.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c index ca56133..a878b53 100644 --- a/kernel/sched_fair.c +++ b/kernel/sched_fair.c @@ -1250,7 +1250,6 @@ static int wake_affine(struct sched_domain *sd, struct task_struct *p, int sync) } tg = task_group(p); - rcu_read_unlock(); weight = p->se.load.weight; /* @@ -1277,6 +1276,7 @@ static int wake_affine(struct sched_domain *sd, struct task_struct *p, int sync) balanced = this_eff_load <= prev_eff_load; } else balanced = true; + rcu_read_unlock(); /* * If the currently running task will sleep within -- 1.7.0.6 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |