mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 04:18:39 +08:00
xtensa: fix lock_mm_and_find_vma in case VMA not found
commit03f889378f
upstream. 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:d85a143b69
("xtensa: fix NOMMU build with lock_mm_and_find_vma() conversion") Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
5937767947
commit
8911865ae2
@ -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;
|
||||
}
|
||||
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user