Skip to content

Commit ae80b40

Browse files
committed
mm: validate the mm before dropping the mmap lock
Commit 408579c ("mm: Update do_vmi_align_munmap() return semantics") made the return value and locking semantics of do_vmi_align_munmap() more straightforward, but in the process it ended up unlocking the mmap lock just a tad too early: the debug code doing the mmap layout validation still needs to run with the lock held, or things might change under it while it's trying to validate things. So just move the unlocking to after the validate_mm() call. Reported-by: kernel test robot <oliver.sang@intel.com> Link: https://lore.kernel.org/lkml/ZKIsoMOT71uwCIZX@xsang-OptiPlex-9020/ Fixes: 408579c ("mm: Update do_vmi_align_munmap() return semantics") Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
1 parent f66066b commit ae80b40

1 file changed

Lines changed: 1 addition & 2 deletions

File tree

mm/mmap.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2554,11 +2554,10 @@ do_vmi_align_munmap(struct vma_iterator *vmi, struct vm_area_struct *vma,
25542554
mas_set(&mas_detach, start);
25552555
remove_mt(mm, &mas_detach);
25562556
__mt_destroy(&mt_detach);
2557+
validate_mm(mm);
25572558
if (unlock)
25582559
mmap_read_unlock(mm);
25592560

2560-
2561-
validate_mm(mm);
25622561
return 0;
25632562

25642563
clear_tree_failed:

0 commit comments

Comments
 (0)