Messages in this thread | | | Date | Wed, 19 Feb 2014 13:10:22 -0500 | From | Sasha Levin <> | Subject | Re: sched: fair: NULL ptr deref in check_preempt_wakeup |
| |
On 02/17/2014 09:26 PM, Michael wang wrote: > On 02/17/2014 05:20 PM, Peter Zijlstra wrote: > [snip] >>> >> static void switched_to_fair(struct rq *rq, struct task_struct *p) >>> >> { >>> >>- if (!p->se.on_rq) >>> >>+ struct sched_entity *se = &p->se; >>> >>+#ifdef CONFIG_FAIR_GROUP_SCHED >>> >>+ se->depth = se->parent ? se->parent->depth + 1 : 0; >>> >>+#endif >>> >>+ if (!se->on_rq) >>> >> return; >>> >> >>> >> /* >> > >> >Yes indeed. My first idea yesterday was to put it in set_task_rq() to be >> >absolutely sure we catch all; but if this is sufficient its better. > Agree, let's wait for Sasha's testing result then:)
I took my time with testing it seems I'm hitting new issues with both sched and mm, and I've wanted to confirm I don't see this one any more.
It does seem like this patch fixes the problem for me, so:
Tested-by: Sasha Levin <sasha.levin@oracle.com>
Thanks, Sasha
| |