Messages in this thread | | | Date | Wed, 19 Feb 2014 19:37:41 +0100 | From | Peter Zijlstra <> | Subject | Re: sched: fair: NULL ptr deref in check_preempt_wakeup |
| |
On Wed, Feb 19, 2014 at 01:10:22PM -0500, 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!
| |