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

Commit 7fa16c63 authored by Shiraz Hashim's avatar Shiraz Hashim Committed by Gerrit - the friendly Code Review server
Browse files

mm: pagewalk: call pte_hole() for VM_PFNMAP during walk_page_range



walk_page_range silently skips vma having VM_PFNMAP set,
which leads to undesirable behaviour at client end (who
called walk_page_range). For example for pagemap_read,
when no callbacks are called against VM_PFNMAP vma,
pagemap_read may prepare pagemap data at wrong index.

Change-Id: I057b5c8ede1ae4bb9e3f8639e10bd4fcbf23da7e
Signed-off-by: default avatarShiraz Hashim <shashim@codeaurora.org>
parent 9e9667a8
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -199,7 +199,10 @@ int walk_page_range(unsigned long addr, unsigned long end,
			 */
			if ((vma->vm_start <= addr) &&
			    (vma->vm_flags & VM_PFNMAP)) {
				next = vma->vm_end;
				if (walk->pte_hole)
					err = walk->pte_hole(addr, next, walk);
				if (err)
					break;
				pgd = pgd_offset(walk->mm, next);
				continue;
			}