]> git.baikalelectronics.ru Git - kernel.git/commit
mm/sparsemem: get address to page struct instead of address to pfn
authorWei Yang <richardw.yang@linux.intel.com>
Thu, 2 Apr 2020 04:09:24 +0000 (21:09 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 2 Apr 2020 16:35:30 +0000 (09:35 -0700)
commitb401abbb23bd7884e1cc630c178ea58d5d626c28
tree68629f4d3d557cb9743e0761a0cd8eb13fa235f8
parent1f9dc69e382bbb3b180aaeb87c9b0570b8553dc3
mm/sparsemem: get address to page struct instead of address to pfn

memmap should be the address to page struct instead of address to pfn.

As mentioned by David, if system memory and devmem sit within a section,
the mismatch address would lead kdump to dump unexpected memory.

Since sub-section only works for SPARSEMEM_VMEMMAP, pfn_to_page() is valid
to get the page struct address at this point.

Fixes: 6c0c9623e61c ("mm/sparsemem: support sub-section hotplug")
Signed-off-by: Wei Yang <richardw.yang@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Acked-by: David Hildenbrand <david@redhat.com>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: Baoquan He <bhe@redhat.com>
Link: http://lkml.kernel.org/r/20200210005048.10437-1-richardw.yang@linux.intel.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/sparse.c