On Thu, Jan 16, 2020 at 4:25 PM Baoquan He <bhe@xxxxxxxxxx> wrote: > > On 01/16/20 at 09:14am, David Hildenbrand wrote: > > On 16.01.20 09:06, David Hildenbrand wrote: > > > On 16.01.20 04:01, Pingfan Liu wrote: > > >> When fully deactivated, it is meaningless to keep the value of a section's > > >> mem_map. And its mem_map will be reassigned during re-added. > > >> > > >> Beside this, it breaks the user space tool "makedumpfile", which makes > > >> assumption that a hot-removed section having mem_map as NULL. > > >> > > >> The bug can be reproduced on IBM POWERVM by "drmgr -c mem -r -q 5" , > > >> trigger a crash, and save vmcore by makedumpfile > > > > > > Are you using an up-to-date makedumfile and did kdump.service properly > > > get reloaded on the udev events? I remember that this works. > > > > > > makedumpfile will not dump memory sections that a) are not marked > > > offline (SECTION_IS_ONLINE) - after offlining b) are not part of an > > > iomem resource - after memory unplug. > > Makedumpfile seems to only check SECTION_MARKED_PRESENT. Then the NULL > memmap will fail vmcore dumping, I guess. makedumpfile.c / validate_mem_section() has some trick, so it will not fail. > > > > > > > > > > The current code makes sure that sparse_decode_mem_map() will return NULL. > > > > > > > ... but it's only used at this very place. I think we should add a > > Fixes: tag, although this might be fixed as well in makedumpfile (so > > people are aware that patch broke something) > > Agree, it's worth fixing it too in makedumpfile side to enhance. > Yeah, I also agree :)