Re: sched: fair: NULL ptr deref in check_preempt_wakeup

From: Peter Zijlstra
Date: Wed Feb 19 2014 - 13:37:53 EST


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@xxxxxxxxxx>
>

Thanks!
--
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/