summaryrefslogtreecommitdiff
path: root/mm
diff options
context:
space:
mode:
authorKani, Toshimitsu <toshi.kani@hpe.com>2017-02-08 10:27:45 +1100
committerStephen Rothwell <sfr@canb.auug.org.au>2017-02-09 21:53:05 +1100
commite654adb872e556fa6190f7eec4b2758eab2b9a5c (patch)
tree5f61f9be4fb19d3bf4945ad7f9f3966938a3a52c /mm
parent391d91cf117df2214f13ac122b46169a8f06895d (diff)
mm-fix-a-overflow-in-test_pages_in_a_zone-fix
remove assumption that end_pfn is aligned by MAX_ORDER_NR_PAGES Cc: zhong jiang <zhongjiang@huawei.com> Cc: Toshi Kani <toshi.kani@hpe.com> Cc: Vlastimil Babka <vbabka@suse.cz> Cc: Mel Gorman <mgorman@techsingularity.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Diffstat (limited to 'mm')
-rw-r--r--mm/memory_hotplug.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c
index 41878b340271..11581f4cfbb4 100644
--- a/mm/memory_hotplug.c
+++ b/mm/memory_hotplug.c
@@ -1512,7 +1512,7 @@ int test_pages_in_a_zone(unsigned long start_pfn, unsigned long end_pfn,
while ((i < MAX_ORDER_NR_PAGES) &&
!pfn_valid_within(pfn + i))
i++;
- if (i == MAX_ORDER_NR_PAGES)
+ if (i == MAX_ORDER_NR_PAGES || pfn + i >= end_pfn)
continue;
page = pfn_to_page(pfn + i);
if (zone && page_zone(page) != zone)