Commit 03f88937 authored by Max Filippov's avatar Max Filippov Committed by Linus Torvalds
Browse files

xtensa: fix lock_mm_and_find_vma in case VMA not found



MMU version of lock_mm_and_find_vma releases the mm lock before
returning when VMA is not found. Do the same in noMMU version.
This fixes hang on an attempt to handle protection fault.

Fixes: d85a143b ("xtensa: fix NOMMU build with lock_mm_and_find_vma() conversion")
Signed-off-by: default avatarMax Filippov <jcmvbkbc@gmail.com>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent a507db1d
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -637,8 +637,13 @@ EXPORT_SYMBOL(find_vma);
struct vm_area_struct *lock_mm_and_find_vma(struct mm_struct *mm,
			unsigned long addr, struct pt_regs *regs)
{
	struct vm_area_struct *vma;

	mmap_read_lock(mm);
	return vma_lookup(mm, addr);
	vma = vma_lookup(mm, addr);
	if (!vma)
		mmap_read_unlock(mm);
	return vma;
}

/*