[tip:sched/urgent] sched: Fix rt_rq->pushable_tasks initialization in init_rt_rq()

From: tip-bot for Fabio Checconi
Date: Fri Jul 10 2009 - 06:42:39 EST


Commit-ID: c20b08e3986c2dbfa6df1e880bf4f7159994d199
Gitweb: http://git.kernel.org/tip/c20b08e3986c2dbfa6df1e880bf4f7159994d199
Author: Fabio Checconi <fchecconi@xxxxxxxxx>
AuthorDate: Mon, 15 Jun 2009 20:56:38 +0200
Committer: Ingo Molnar <mingo@xxxxxxx>
CommitDate: Fri, 10 Jul 2009 10:43:30 +0200

sched: Fix rt_rq->pushable_tasks initialization in init_rt_rq()

init_rt_rq() initializes only rq->rt.pushable_tasks, and not the
pushable_tasks field of the passed rt_rq. The plist is not used
uninitialized since the only pushable_tasks plists used are the
ones of root rt_rqs; anyway reinitializing the list on every group
creation corrupts the root plist, losing its previous contents.

Signed-off-by: Fabio Checconi <fabio@xxxxxxxxxxxxxxxx>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
LKML-Reference: <20090615185638.GK21741@xxxxxxxxxxxxxxxx>
CC: Gregory Haskins <ghaskins@xxxxxxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxx>


---
kernel/sched.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/kernel/sched.c b/kernel/sched.c
index c4549bd..efecfda 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -9093,7 +9093,7 @@ static void init_rt_rq(struct rt_rq *rt_rq, struct rq *rq)
#ifdef CONFIG_SMP
rt_rq->rt_nr_migratory = 0;
rt_rq->overloaded = 0;
- plist_head_init(&rq->rt.pushable_tasks, &rq->lock);
+ plist_head_init(&rt_rq->pushable_tasks, &rq->lock);
#endif

rt_rq->rt_time = 0;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/