On Sat, Jan 13, 2018 at 11:48:38AM +0100, Ingo Molnar wrote: > > * Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> wrote: > > > Depending on configuration mem_section can now be an array or a pointer > > to an array allocated dynamically. In most cases, we can continue to refer > > to it as 'mem_section' regardless of what it is. > > > > But there's one exception: '&mem_section' means "address of the array" if > > mem_section is an array, but if mem_section is a pointer, it would mean > > "address of the pointer". > > > > We've stepped onto this in kdump code. VMCOREINFO_SYMBOL(mem_section) > > writes down address of pointer into vmcoreinfo, not array as we wanted. > > > > Let's introduce VMCOREINFO_SYMBOL_ARRAY() that would handle the > > situation correctly for both cases. > > > > Signed-off-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> > > Fixes: 83e3c48729d9 ("mm/sparsemem: Allocate mem_section at runtime for CONFIG_SPARSEMEM_EXTREME=y") > > Cc: stable@xxxxxxxxxxxxxxx > > Acked-by: Baoquan He <bhe@xxxxxxxxxx> > > Acked-by: Dave Young <dyoung@xxxxxxxxxx> > > You forgot the Reported-by - I added that to the commit. Oops, sorry. Note, that Andrew has already pick it up and sent it upstream. -- Kirill A. Shutemov