Commit d5b56233 authored by Hugh Dickins's avatar Hugh Dickins Committed by Linus Torvalds
Browse files

mm: fix error case in mlock downgrade reversion



Commit 27421e21, Manually revert
"mlock: downgrade mmap sem while populating mlocked regions", has
introduced its own regression: __mlock_vma_pages_range() may report
an error (for example, -EFAULT from trying to lock down pages from
beyond EOF), but mlock_vma_pages_range() must hide that from its
callers as before.

Reported-by: default avatarSami Farin <safari-kernel@safari.iki.fi>
Signed-off-by: default avatarHugh Dickins <hugh@veritas.com>
Cc: stable@kernel.org
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 8e492151
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -311,7 +311,10 @@ long mlock_vma_pages_range(struct vm_area_struct *vma,
			is_vm_hugetlb_page(vma) ||
			vma == get_gate_vma(current))) {

		return __mlock_vma_pages_range(vma, start, end, 1);
		__mlock_vma_pages_range(vma, start, end, 1);

		/* Hide errors from mmap() and other callers */
		return 0;
	}

	/*