aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/config
diff options
context:
space:
mode:
authorqiuxishi <qiuxishi@gmail.com>2012-09-17 14:09:24 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-10-02 09:47:26 -0700
commit2aab4667576b39a1cba50b0322da6d21bbdfc9dd (patch)
tree615e431f269765f1cb1c5b559cadd64197828be0 /scripts/config
parent0f8c1df34ab4a2796724e9a2217b803547346628 (diff)
downloadkernel_samsung_smdk4412-2aab4667576b39a1cba50b0322da6d21bbdfc9dd.zip
kernel_samsung_smdk4412-2aab4667576b39a1cba50b0322da6d21bbdfc9dd.tar.gz
kernel_samsung_smdk4412-2aab4667576b39a1cba50b0322da6d21bbdfc9dd.tar.bz2
memory hotplug: fix section info double registration bug
commit f14851af0ebb32745c6c5a2e400aa0549f9d20df upstream. There may be a bug when registering section info. For example, on my Itanium platform, the pfn range of node0 includes the other nodes, so other nodes' section info will be double registered, and memmap's page count will equal to 3. node0: start_pfn=0x100, spanned_pfn=0x20fb00, present_pfn=0x7f8a3, => 0x000100-0x20fc00 node1: start_pfn=0x80000, spanned_pfn=0x80000, present_pfn=0x80000, => 0x080000-0x100000 node2: start_pfn=0x100000, spanned_pfn=0x80000, present_pfn=0x80000, => 0x100000-0x180000 node3: start_pfn=0x180000, spanned_pfn=0x80000, present_pfn=0x80000, => 0x180000-0x200000 free_all_bootmem_node() register_page_bootmem_info_node() register_page_bootmem_info_section() When hot remove memory, we can't free the memmap's page because page_count() is 2 after put_page_bootmem(). sparse_remove_one_section() free_section_usemap() free_map_bootmem() put_page_bootmem() [akpm@linux-foundation.org: add code comment] Signed-off-by: Xishi Qiu <qiuxishi@huawei.com> Signed-off-by: Jiang Liu <jiang.liu@huawei.com> Acked-by: Mel Gorman <mgorman@suse.de> Cc: "Luck, Tony" <tony.luck@intel.com> Cc: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'scripts/config')
0 files changed, 0 insertions, 0 deletions