Re: [PATCH] mm, compaction: fast_find_migrateblock() should return pfn in the target zone

From: Andrew Morton
Date: Fri May 13 2022 - 17:01:54 EST


On Fri, 13 May 2022 13:11:12 +0900 Rei Yamamoto <yamamoto.rei@xxxxxxxxxxxxxx> wrote:

> On Thu, 12 May 2022 13:49:45 -0700 Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote:
> > On Thu, 12 May 2022 13:27:33 +0900 Rei Yamamoto <yamamoto.rei@xxxxxxxxxxxxxx> wrote:
> >
> >> >> Thank you for your review.
> >> >> The runtime effect is that compaction become unintended behavior.
> >> >> For example, pages not in the target zone are added to cc->migratepages list in isolate_migratepages_block().
> >> >> As a result, pages migrate between nodes unintentionally.
> >> >
> >> > Many thanks for clarifying. :) Is this worth a Fixes tag or even CC stable?
> >> >
> >> > Thanks!
> >>
> >> Thank you for your reply.
> >>
> >> If add a Fixes tag, I think the following commit:
> >> Fixes: 70b4459 ("mm, compaction: use free lists to quickly locate a migration source")
> >>
> >> Andrew, how do you think about this?
> >
> > Thanks, I added that and also a paragraph describing the effect of the bug:
> >
> > https://git.kernel.org/pub/scm/linux/kernel/git/akpm/25-new.git/tree/patches/mm-compaction-fast_find_migrateblock-should-return-pfn-in-the-target-zone.patch
> >
> > I assume this problem isn't sufficiently serious to require a -stable
> > backport of the fix?
>
> This would be a serious problem for older kernels without commit a984226,
> because it can corrupt the lru list by handling pages in list without holding proper lru_lock.

Thanks, I added the above to the changelog.

The patch applies OK to older kernels (I tried v5.10). So I guess we
put a cc:stable in this, so it gets backported?