Re: [PATCH] sched/eevdf: avoid pick_eevdf() returns NULL

From: Vincent Guittot
Date: Mon May 19 2025 - 08:36:01 EST


On Mon, 19 May 2025 at 11:39, Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
>
> On Mon, May 19, 2025 at 05:25:39PM +0800, limingming3 wrote:
> > pick_eevdf() may return NULL, which would triggers NULL pointer
> > dereference and crash when best and curr are both NULL.
> >
> > There are two cases when curr would be NULL:
> > 1) curr is NULL when enter pick_eevdf
> > 2) we set it to NUll when curr is not on_rq or eligible.
> >
> > And when we went to the best = curr flow, the se should never be NULL,
> > So when best and curr are both NULL, we'd better set best = se to avoid
> > return NULL.
> >
> > Below crash is what I encounter very low probability on our server and
> > I have not reproduce it, and I also found other people feedback some
> > similar crash on lore. So believe the issue is really exit.
>
> If you've found those emails, you'll also have found me telling them
> this is the wrong fix.
>
> This (returning NULL) can only happen when the internal state is
> broken. Ignoring the NULL will then hide the actual problem.
>
> Can you reproduce on the latest kernels?, 6.1 is so old I don't even
> remember what's in there.

Wasn't eevdf merhged in v6.6 ?