Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 21d0d443 authored by Andrea Arcangeli's avatar Andrea Arcangeli Committed by Linus Torvalds
Browse files

rmap: resurrect page_address_in_vma anon_vma check



With root anon-vma it's trivial to keep doing the usual check as in
old-anon-vma code.

Signed-off-by: default avatarAndrea Arcangeli <aarcange@redhat.com>
Signed-off-by: default avatarRik van Riel <riel@redhat.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 288468c3
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -364,9 +364,10 @@ vma_address(struct page *page, struct vm_area_struct *vma)
 */
unsigned long page_address_in_vma(struct page *page, struct vm_area_struct *vma)
{
	if (PageAnon(page))
		;
	else if (page->mapping && !(vma->vm_flags & VM_NONLINEAR)) {
	if (PageAnon(page)) {
		if (vma->anon_vma->root != page_anon_vma(page)->root)
			return -EFAULT;
	} else if (page->mapping && !(vma->vm_flags & VM_NONLINEAR)) {
		if (!vma->vm_file ||
		    vma->vm_file->f_mapping != page->mapping)
			return -EFAULT;