diff --git a/mm/mmu_notifier.c b/mm/mmu_notifier.c
index 05d98167da7bbdc64012ff6ea711cb293508aa58..3f39fb1402db24ae73dfd10080858ea6cf64fedf 100644
--- a/mm/mmu_notifier.c
+++ b/mm/mmu_notifier.c
@@ -243,6 +243,13 @@ int __mmu_notifier_register(struct mmu_notifier *mn, struct mm_struct *mm)
 	lockdep_assert_held_write(&mm->mmap_sem);
 	BUG_ON(atomic_read(&mm->mm_users) <= 0);
 
+	if (IS_ENABLED(CONFIG_LOCKDEP)) {
+		fs_reclaim_acquire(GFP_KERNEL);
+		lock_map_acquire(&__mmu_notifier_invalidate_range_start_map);
+		lock_map_release(&__mmu_notifier_invalidate_range_start_map);
+		fs_reclaim_release(GFP_KERNEL);
+	}
+
 	mn->mm = mm;
 	mn->users = 1;