Commit 09761333 authored by Hillf Danton's avatar Hillf Danton Committed by Linus Torvalds

mm/migrate.c: pair unlock_page() and lock_page() when migrating huge pages

Avoid unlocking and unlocked page if we failed to lock it.
Signed-off-by: default avatarHillf Danton <dhillf@gmail.com>
Cc: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 58a84aa9
...@@ -871,9 +871,9 @@ static int unmap_and_move_huge_page(new_page_t get_new_page, ...@@ -871,9 +871,9 @@ static int unmap_and_move_huge_page(new_page_t get_new_page,
if (anon_vma) if (anon_vma)
put_anon_vma(anon_vma); put_anon_vma(anon_vma);
out:
unlock_page(hpage); unlock_page(hpage);
out:
if (rc != -EAGAIN) { if (rc != -EAGAIN) {
list_del(&hpage->lru); list_del(&hpage->lru);
put_page(hpage); put_page(hpage);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment