Messages in this thread | | | Date | Thu, 20 Feb 2014 10:22:22 +0800 | From | Michael wang <> | Subject | Re: sched: fair: NULL ptr deref in check_preempt_wakeup |
| |
On 02/20/2014 02:10 AM, Sasha Levin wrote: > 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 for the testing :) will post the patch later.
Regards, Michael Wang
> > > Thanks, > Sasha >
| |