Re: [PATCH v5 2/2] mm/oom_kill: Have the OOM reaper and exit_mmap() traverse the maple tree in opposite order
From: Liam R. Howlett
Date: Tue Aug 26 2025 - 11:22:24 EST
* Lorenzo Stoakes <lorenzo.stoakes@xxxxxxxxxx> [250826 09:50]:
> On Tue, Aug 26, 2025 at 09:37:22AM -0400, Liam R. Howlett wrote:
> > I really don't think this is worth doing. We're avoiding a race between
> > oom and a task unmap - the MMF bits should be used to avoid this race -
> > or at least mitigate it.
>
> Yes for sure, as explored at length in previous discussions this feels like
> we're papering over cracks here.
>
> _However_, I'm sort of ok with a minimalistic fix that solves the proximate
> issue even if it is that, as long as it doesn't cause issues in doing so.
>
> So this is my take on the below and why I'm open to it!
>
> >
> > They are probably both under the read lock, but considering how rare it
> > would be, would a racy flag check be enough - it is hardly critical to
> > get right. Either would reduce the probability.
>
> Zongjinji - I'm stil not sure that you've really indicated _why_ you're
> seeing such a tight and unusual race. Presumably some truly massive number
> of tasks being OOM'd and unmapping but... yeah that seems odd anyway.
>
> But again, if we can safely fix this in a way that doesn't hurt stuff too
> much I'm ok with it (of course, these are famous last words in the kernel
> often...!)
>
> Liam - are you open to a solution on the basis above, or do you feel we
> ought simply to fix the underlying issue here?
At least this is a benign race. I'd think using MMF_ to reduce the race
would achieve the same goal with less risk - which is why I bring it up.
Really, both methods should be low risk, so I'm fine with either way.
But I am interested in hearing how this race is happening enough to
necessitate a fix. Reversing the iterator is a one-spot fix - if this
happens elsewhere then we're out of options. Using the MMF_ flags is
more of a scalable fix, if it achieves the same results.
>
> to me we're at a simple enough implementaiton of this (esp. utilising the
> helper you mention) that probably kthis is fine (like the meme,
> or... hopefully not :)
>
> I will go with your judgment here!
>
> Cheers, Lorenzo