]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
mm/mmap: Validate code fix
authorLiam R. Howlett <Liam.Howlett@Oracle.com>
Fri, 29 Jan 2021 14:41:00 +0000 (09:41 -0500)
committerLiam R. Howlett <Liam.Howlett@Oracle.com>
Fri, 29 Jan 2021 14:41:00 +0000 (09:41 -0500)
Signed-off-by: Liam R. Howlett <Liam.Howlett@Oracle.com>
mm/mmap.c

index c1e68091a05c6c4a2e5f538d2584cf8328697436..7a79a8b5e3ade72eda411c9e6d85f3b8f397e25a 100644 (file)
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -298,7 +298,6 @@ out:
 extern void mt_validate(struct maple_tree *mt);
 extern void mt_dump(const struct maple_tree *mt);
 
-/* Validate the maple tree */
 static void validate_mm(struct mm_struct *mm)
 {
        int bug = 0;
@@ -306,8 +305,10 @@ static void validate_mm(struct mm_struct *mm)
        struct vm_area_struct *vma;
        MA_STATE(mas, &mm->mm_mt, 0, 0);
 
-
+       mt_validate(&mm->mm_mt);
        mas_for_each(&mas, vma, ULONG_MAX) {
+               VM_BUG_ON(mas.index != vma->vm_start);
+               VM_BUG_ON(mas.last != vma->vm_end - 1);
 #ifdef CONFIG_DEBUG_VM_RB
                struct anon_vma *anon_vma = vma->anon_vma;
                struct anon_vma_chain *avc;
@@ -326,6 +327,7 @@ static void validate_mm(struct mm_struct *mm)
        }
        VM_BUG_ON_MM(bug, mm);
 }
+
 #else // !CONFIG_DEBUG_MAPLE_TREE
 #define validate_mm(mm) do { } while (0)
 #endif // CONFIG_DEBUG_MAPLE_TREE