Re: [patch 125/166] lib/list: prevent compiler reloads inside 'safe' list iteration

Sultan Alsawaf
2020-04-08T23:14:32Z

On Wed, Apr 08, 2020 at 02:14:38PM -0700, Linus Torvalds wrote:
> (a) what the i915 driver does is at a minimum questionable, and quite
> likely actively buggy

By the way, this doesn't even seem like the only place in i915 where locking and
object lifetime semantics are... special. I found a combined deadlock and
use-after-free last week, inside of interwoven recursive call chains, and posted
a patch here [1]. Unfortunately, it's been ignored thus far. But the interesting
thing is how the bizarre object lifetime semantics there required even more
weird things to enact a proper fix. That patch really should be merged (Chris?),
but moreover, it'd be nice to see a whole release cycle devoted to just cleaning
some of this stuff up. Showstopper bugs and hangs in i915 have really multiplied
in recent times.

Sultan

[1] https://lore.kernel.org/lkml/20200407064007.7599-1-sultan@kerneltoast.com