diff options
Diffstat (limited to 'mm')
-rw-r--r-- | mm/mlock.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/mm/mlock.c b/mm/mlock.c index cdbed8aaa426..665ab75b5533 100644 --- a/mm/mlock.c +++ b/mm/mlock.c | |||
@@ -441,7 +441,7 @@ void munlock_vma_pages_range(struct vm_area_struct *vma, | |||
441 | 441 | ||
442 | while (start < end) { | 442 | while (start < end) { |
443 | struct page *page; | 443 | struct page *page; |
444 | unsigned int page_mask; | 444 | unsigned int page_mask = 0; |
445 | unsigned long page_increm; | 445 | unsigned long page_increm; |
446 | struct pagevec pvec; | 446 | struct pagevec pvec; |
447 | struct zone *zone; | 447 | struct zone *zone; |
@@ -455,8 +455,7 @@ void munlock_vma_pages_range(struct vm_area_struct *vma, | |||
455 | * suits munlock very well (and if somehow an abnormal page | 455 | * suits munlock very well (and if somehow an abnormal page |
456 | * has sneaked into the range, we won't oops here: great). | 456 | * has sneaked into the range, we won't oops here: great). |
457 | */ | 457 | */ |
458 | page = follow_page_mask(vma, start, FOLL_GET | FOLL_DUMP, | 458 | page = follow_page(vma, start, FOLL_GET | FOLL_DUMP); |
459 | &page_mask); | ||
460 | 459 | ||
461 | if (page && !IS_ERR(page)) { | 460 | if (page && !IS_ERR(page)) { |
462 | if (PageTransTail(page)) { | 461 | if (PageTransTail(page)) { |
@@ -467,8 +466,8 @@ void munlock_vma_pages_range(struct vm_area_struct *vma, | |||
467 | /* | 466 | /* |
468 | * Any THP page found by follow_page_mask() may | 467 | * Any THP page found by follow_page_mask() may |
469 | * have gotten split before reaching | 468 | * have gotten split before reaching |
470 | * munlock_vma_page(), so we need to recompute | 469 | * munlock_vma_page(), so we need to compute |
471 | * the page_mask here. | 470 | * the page_mask here instead. |
472 | */ | 471 | */ |
473 | page_mask = munlock_vma_page(page); | 472 | page_mask = munlock_vma_page(page); |
474 | unlock_page(page); | 473 | unlock_page(page); |