Re: [5.6.0-rc7] Kernel crash while running ndctl tests

From: Baoquan He
Date: Tue Mar 24 2020 - 06:14:15 EST


On 03/24/20 at 03:06pm, Sachin Sant wrote:
>
>
> > On 24-Mar-2020, at 2:45 PM, Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxx> wrote:
> >
> > Sachin Sant <sachinp@xxxxxxxxxxxxxxxxxx> writes:
> >
> >> While running ndctl[1] tests against 5.6.0-rc7 following crash is encountered.
> >>
> >> Bisect leads me to commit d41e2f3bd546
> >> mm/hotplug: fix hot remove failure in SPARSEMEM|!VMEMMAP case
> >>
> >> Reverting this commit helps and the tests complete without any crash.
> >
> >
> > Can you try this change?
> >
> > diff --git a/mm/sparse.c b/mm/sparse.c
> > index aadb7298dcef..3012d1f3771a 100644
> > --- a/mm/sparse.c
> > +++ b/mm/sparse.c
> > @@ -781,6 +781,8 @@ static void section_deactivate(unsigned long pfn, unsigned long nr_pages,
> > ms->usage = NULL;
> > }
> > memmap = sparse_decode_mem_map(ms->section_mem_map, section_nr);
> > + /* Mark the section invalid */
> > + ms->section_mem_map &= ~SECTION_HAS_MEM_MAP;
> > }
> >
> > if (section_is_early && memmap)
> >
>
> This patch works for me. The test ran successfully without any crash/failure.

Hi Aneesh,

Could you make a formal patch to post, since Sachin has tested and
confirmed it works?

>
> Thanks
> -Sachin
>
> > a pfn_valid check involves pnf_section_valid() check if section is
> > having MEM_MAP. In this case we did end up setting the ms->uage = NULL.
> > So when we do that tupdate the section to not have MEM_MAP.
> >
> > -aneesh
>