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

From: Sachin Sant
Date: Tue Mar 24 2020 - 05:36:44 EST




> 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.

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