timers: fix itimer/many thread hang, fix

fix bogus rq dereference: v3 removed the locking but also removed the rq
initialization.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
diff --git a/kernel/sched.c b/kernel/sched.c
index 29a3152..ebb03de 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -4042,10 +4042,12 @@
  */
 unsigned long long task_delta_exec(struct task_struct *p)
 {
-	struct rq *rq;
 	unsigned long flags;
+	struct rq *rq;
 	u64 ns = 0;
 
+	rq = task_rq_lock(p, &flags);
+
 	if (task_current(rq, p)) {
 		u64 delta_exec;
 
@@ -4055,6 +4057,8 @@
 			ns = delta_exec;
 	}
 
+	task_rq_unlock(rq, &flags);
+
 	return ns;
 }