diff --git a/mm/mmap.c b/mm/mmap.c
index 51e70fa98450..547b40531791 100644
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -2554,11 +2554,10 @@ do_vmi_align_munmap(struct vma_iterator *vmi, struct vm_area_struct *vma,
 	mas_set(&mas_detach, start);
 	remove_mt(mm, &mas_detach);
 	__mt_destroy(&mt_detach);
+	validate_mm(mm);
 	if (unlock)
 		mmap_read_unlock(mm);
 
-
-	validate_mm(mm);
 	return 0;
 
 clear_tree_failed: