summaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorAndrew Banman <abanman@sgi.com>2015-12-29 14:54:25 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2015-12-29 17:45:49 -0800
commit5f0f2887f4de9508dcf438deab28f1de8070c271 (patch)
tree00b2343ccdfd201a3cd19acc26d1460715c01a51 /fs
parentb5a8bc338e68d5f6f753e14ae59b30e75a5ffdde (diff)
downloadlinux-5f0f2887f4de9508dcf438deab28f1de8070c271.tar.gz
linux-5f0f2887f4de9508dcf438deab28f1de8070c271.tar.bz2
linux-5f0f2887f4de9508dcf438deab28f1de8070c271.zip
mm/memory_hotplug.c: check for missing sections in test_pages_in_a_zone()
test_pages_in_a_zone() does not account for the possibility of missing sections in the given pfn range. pfn_valid_within always returns 1 when CONFIG_HOLES_IN_ZONE is not set, allowing invalid pfns from missing sections to pass the test, leading to a kernel oops. Wrap an additional pfn loop with PAGES_PER_SECTION granularity to check for missing sections before proceeding into the zone-check code. This also prevents a crash from offlining memory devices with missing sections. Despite this, it may be a good idea to keep the related patch '[PATCH 3/3] drivers: memory: prohibit offlining of memory blocks with missing sections' because missing sections in a memory block may lead to other problems not covered by the scope of this fix. Signed-off-by: Andrew Banman <abanman@sgi.com> Acked-by: Alex Thorlton <athorlton@sgi.com> Cc: Russ Anderson <rja@sgi.com> Cc: Alex Thorlton <athorlton@sgi.com> Cc: Yinghai Lu <yinghai@kernel.org> Cc: Greg KH <greg@kroah.com> Cc: Seth Jennings <sjennings@variantweb.net> Cc: <stable@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs')
0 files changed, 0 insertions, 0 deletions