WIP: update tizen_qemu_defconfig
[platform/kernel/linux-starfive.git] / mm / pagewalk.c
index fa7a3d2..2ff3a5b 100644 (file)
@@ -460,7 +460,7 @@ int walk_page_range(struct mm_struct *mm, unsigned long start,
                } else { /* inside vma */
                        walk.vma = vma;
                        next = min(end, vma->vm_end);
-                       vma = vma->vm_next;
+                       vma = find_vma(mm, vma->vm_end);
 
                        err = walk_page_test(start, next, &walk);
                        if (err > 0) {
@@ -482,7 +482,15 @@ int walk_page_range(struct mm_struct *mm, unsigned long start,
        return err;
 }
 
-/*
+/**
+ * walk_page_range_novma - walk a range of pagetables not backed by a vma
+ * @mm:                mm_struct representing the target process of page table walk
+ * @start:     start address of the virtual address range
+ * @end:       end address of the virtual address range
+ * @ops:       operation to call during the walk
+ * @pgd:       pgd to walk if different from mm->pgd
+ * @private:   private data for callbacks' usage
+ *
  * Similar to walk_page_range() but can walk any page tables even if they are
  * not backed by VMAs. Because 'unusual' entries may be walked this function
  * will also not lock the PTEs for the pte_entry() callback. This is useful for