Re: [stable 5.10 PATCH] mm: hwpoison: remove the unnecessary THP check

From: Greg KH
Date: Thu Nov 04 2021 - 14:51:03 EST


On Thu, Nov 04, 2021 at 11:07:05AM -0700, Yang Shi wrote:
> On Thu, Nov 4, 2021 at 10:43 AM Yang Shi <shy828301@xxxxxxxxx> wrote:
> >
> > On Thu, Nov 4, 2021 at 9:53 AM Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
> > >
> > > On Wed, Nov 03, 2021 at 10:46:24AM +0100, Greg KH wrote:
> > > > On Mon, Nov 01, 2021 at 12:48:56PM -0700, Yang Shi wrote:
> > > > > commit c7cb42e94473aafe553c0f2a3d8ca904599399ed upstream.
> > > > >
> > > > > When handling THP hwpoison checked if the THP is in allocation or free
> > > > > stage since hwpoison may mistreat it as hugetlb page. After commit
> > > > > 415c64c1453a ("mm/memory-failure: split thp earlier in memory error
> > > > > handling") the problem has been fixed, so this check is no longer
> > > > > needed. Remove it. The side effect of the removal is hwpoison may
> > > > > report unsplit THP instead of unknown error for shmem THP. It seems not
> > > > > like a big deal.
> > > > >
> > > > > The following patch "mm: filemap: check if THP has hwpoisoned subpage
> > > > > for PMD page fault" depends on this, which fixes shmem THP with
> > > > > hwpoisoned subpage(s) are mapped PMD wrongly. So this patch needs to be
> > > > > backported to -stable as well.
> > > > >
> > > > > Link: https://lkml.kernel.org/r/20211020210755.23964-2-shy828301@xxxxxxxxx
> > > > > Signed-off-by: Yang Shi <shy828301@xxxxxxxxx>
> > > > > Suggested-by: Naoya Horiguchi <naoya.horiguchi@xxxxxxx>
> > > > > Acked-by: Naoya Horiguchi <naoya.horiguchi@xxxxxxx>
> > > > > Cc: Hugh Dickins <hughd@xxxxxxxxxx>
> > > > > Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
> > > > > Cc: Matthew Wilcox <willy@xxxxxxxxxxxxx>
> > > > > Cc: Oscar Salvador <osalvador@xxxxxxx>
> > > > > Cc: Peter Xu <peterx@xxxxxxxxxx>
> > > > > Cc: <stable@xxxxxxxxxxxxxxx>
> > > > > Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> > > > > Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
> > > > > ---
> > > > > mm-filemap-check-if-thp-has-hwpoisoned-subpage-for-pmd-page-fault.patch
> > > > > depends on this one.
> > > >
> > > > Both now queued up, thanks.
> > >
> > > This breaks the build, see:
> > > https://lore.kernel.org/r/acabc414-164b-cd65-6a1a-cf912d8621d7@xxxxxxxxxxxx
> > >
> > > so I'm going to drop both of these now. Please fix this up and resend a
> > > tested series.
> >
> > Thanks for catching this. It is because I accidentally left the
> > PAGEFLAG_* macros into CONFIG_TRANSHUGE_PAGE section, so it is:
> >
> > #ifdef CONFIG_TRANSHUGE_PAGE
> > ...
> > #if defined(CONFIG_MEMORY_FAILURE) && defined(CONFIG_TRANSHUGE_PAGE)
> > PAGEFLAG_xxx
> > #else
> > PAGEFLAG_FALSE_xxx
> > #endif
> > ...
> > #endif
> >
> > So when THP is disabled the PAGEFLAG_FALSE_xxx macro is actually absent.
> >
> > The upstream has the same issue, will send a patch to fix it soon, and
> > send fixes (folded the new fix in) to -stable later. Sorry for the
> > inconvenience.
>
> Further looking shows the upstream is good. I did *NOT* add the code
> in CONFIG_TRANSHUGE_PAGE section. It seems the code section was moved
> around when the patch was applied to 5.10.
>
> Could you please fold the below patch into
> mm-filemap-check-if-thp-has-hwpoisoned-subpage-for-pmd-page-fault.patch?
> Or I could prepare a patch for you.

I need a working patch series please.

thanks,

greg k-h