* Kirill A. Shutemov kirill.shutemov@linux.intel.com 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@linux.intel.com Fixes: 83e3c48729d9 ("mm/sparsemem: Allocate mem_section at runtime for CONFIG_SPARSEMEM_EXTREME=y") Cc: stable@vger.kernel.org Acked-by: Baoquan He bhe@redhat.com Acked-by: Dave Young dyoung@redhat.com
You forgot the Reported-by - I added that to the commit.
Thanks,
Ingo