Re: Arm64 crash while reading memory sysfs

From: Andrew Morton
Date: Mon Jun 14 2021 - 20:14:15 EST


On Mon, 14 Jun 2021 11:25:54 +0300 Mike Rapoport <rppt@xxxxxxxxxxxxx> wrote:

> On Tue, Jun 08, 2021 at 12:36:21PM +0530, Anshuman Khandual wrote:
> >
> >
> > On 5/28/21 10:43 AM, Mike Rapoport wrote:
> > > On Thu, May 27, 2021 at 03:56:44PM -0700, Andrew Morton wrote:
> > >> On Thu, 27 May 2021 18:50:48 +0100 Catalin Marinas <catalin.marinas@xxxxxxx> wrote:
> > >>
> > >>>> Can you please try Anshuman's patch "arm64/mm: Drop HAVE_ARCH_PFN_VALID":
> > >>>>
> > >>>> https://lore.kernel.org/lkml/1621947349-25421-1-git-send-email-anshuman.khandual@xxxxxxx
> > >>>>
> > >>>> It seems to me that the check for memblock_is_memory() in
> > >>>> arm64::pfn_valid() is what makes init_unavailable_range() to bail out for
> > >>>> section parts that are not actually populated and then we have
> > >>>> VM_BUG_ON_PAGE(PagePoisoned(p)) for these pages.
> > >>>
> > >>> I acked Anshuman's patch, I think they all need to go in together.
> > >>
> > >> That's neat. Specifically which patches are we referring to here?
> > >
> > > arm64: drop pfn_valid_within() and simplify pfn_valid():
> > > https://lore.kernel.org/lkml/20210511100550.28178-5-rppt@xxxxxxxxxx
> > >
> > > arm64/mm: Drop HAVE_ARCH_PFN_VALID:
> > > https://lore.kernel.org/lkml/1621947349-25421-1-git-send-email-anshuman.khandual@xxxxxxx
> >
> > I dont see the above patch (which drops HAVE_ARCH_PFN_VALID on arm64) on linux-next
> > i.e. next-20210607. I might have missed some earlier context here but do not we want
> > to fallback on generic pfn_valid() after Mike's series ?
>
> Andrew,
>
> Can you please pick the two patches above?

I already had

include-linux-mmzoneh-add-documentation-for-pfn_valid.patch
memblock-update-initialization-of-reserved-pages.patch
arm64-decouple-check-whether-pfn-is-in-linear-map-from-pfn_valid.patch
arm64-drop-pfn_valid_within-and-simplify-pfn_valid.patch

and I just added

arm64-mm-drop-have_arch_pfn_valid.patch

so I think we're all good now?

and I don't think any of this is needed in 5.13 or -stable, correct?

I still have question marks over

https://lkml.kernel.org/r/YJ0Fhs5krPJ0FgiV@xxxxxxxxxx and
https://lkml.kernel.org/r/d55f915c-ad01-e729-1e29-b57d78257cbb@xxxxxxxxxxx

Is this all OK now?