On Mon 20-01-20 10:33:14, Pingfan Liu wrote: > After commit ba72b4c8cf60 ("mm/sparsemem: support sub-section hotplug"), > when a mem section is fully deactivated, section_mem_map still records the > section's start pfn, which is not used any more and will be reassigned > during re-added. > > In analogy with alloc/free pattern, it is better to clear all fields of > section_mem_map. > > Beside this, it breaks the user space tool "makedumpfile" [1], which makes > assumption that a hot-removed section has mem_map as NULL, instead of > checking directly against SECTION_MARKED_PRESENT bit. (makedumpfile will be > better to change the assumption, and need a patch) > > The bug can be reproduced on IBM POWERVM by "drmgr -c mem -r -q 5" , > trigger a crash, and save vmcore by makedumpfile While makedumpfile lives very closely to the kernel and occasional breakage is to be expected I still believe that Fixes: ba72b4c8cf60 is due. > [1]: makedumpfile, commit e73016540293 ("[v1.6.7] Update version") > > Signed-off-by: Pingfan Liu <kernelfans@xxxxxxxxx> > To: linux-mm@xxxxxxxxx > Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> > Cc: David Hildenbrand <david@xxxxxxxxxx> > Cc: Dan Williams <dan.j.williams@xxxxxxxxx> > Cc: Oscar Salvador <osalvador@xxxxxxx> > Cc: Michal Hocko <mhocko@xxxxxxxxxx> > Cc: Baoquan He <bhe@xxxxxxxxxx> > Cc: Qian Cai <cai@xxxxxx> > Cc: kexec@xxxxxxxxxxxxxxxxxxx > Cc: Kazuhito Hagio <k-hagio@xxxxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> > --- > v1 -> v2: > make an explicit convertion from NULL to ulong > improve commit log > > mm/sparse.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/mm/sparse.c b/mm/sparse.c > index 3822ecb..3918fc3 100644 > --- a/mm/sparse.c > +++ b/mm/sparse.c > @@ -789,7 +789,7 @@ 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); > - ms->section_mem_map = sparse_encode_mem_map(NULL, section_nr); > + ms->section_mem_map = (unsigned long)NULL; > } > > if (section_is_early && memmap) > -- > 2.7.5 -- Michal Hocko SUSE Labs _______________________________________________ kexec mailing list kexec@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/kexec