diff options
Diffstat (limited to 'mm/page_alloc.c')
-rw-r--r-- | mm/page_alloc.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 0922ef5d2e46..33f6745bb649 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c | |||
@@ -6405,8 +6405,11 @@ void __paginginit zero_resv_unavail(void) | |||
6405 | pgcnt = 0; | 6405 | pgcnt = 0; |
6406 | for_each_resv_unavail_range(i, &start, &end) { | 6406 | for_each_resv_unavail_range(i, &start, &end) { |
6407 | for (pfn = PFN_DOWN(start); pfn < PFN_UP(end); pfn++) { | 6407 | for (pfn = PFN_DOWN(start); pfn < PFN_UP(end); pfn++) { |
6408 | if (!pfn_valid(ALIGN_DOWN(pfn, pageblock_nr_pages))) | 6408 | if (!pfn_valid(ALIGN_DOWN(pfn, pageblock_nr_pages))) { |
6409 | pfn = ALIGN_DOWN(pfn, pageblock_nr_pages) | ||
6410 | + pageblock_nr_pages - 1; | ||
6409 | continue; | 6411 | continue; |
6412 | } | ||
6410 | mm_zero_struct_page(pfn_to_page(pfn)); | 6413 | mm_zero_struct_page(pfn_to_page(pfn)); |
6411 | pgcnt++; | 6414 | pgcnt++; |
6412 | } | 6415 | } |