aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/kernel/swp_emulate.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/arm/kernel/swp_emulate.c b/arch/arm/kernel/swp_emulate.c
index df745188f5de..ab1017bd1667 100644
--- a/arch/arm/kernel/swp_emulate.c
+++ b/arch/arm/kernel/swp_emulate.c
@@ -109,10 +109,12 @@ static void set_segfault(struct pt_regs *regs, unsigned long addr)
109{ 109{
110 siginfo_t info; 110 siginfo_t info;
111 111
112 down_read(&current->mm->mmap_sem);
112 if (find_vma(current->mm, addr) == NULL) 113 if (find_vma(current->mm, addr) == NULL)
113 info.si_code = SEGV_MAPERR; 114 info.si_code = SEGV_MAPERR;
114 else 115 else
115 info.si_code = SEGV_ACCERR; 116 info.si_code = SEGV_ACCERR;
117 up_read(&current->mm->mmap_sem);
116 118
117 info.si_signo = SIGSEGV; 119 info.si_signo = SIGSEGV;
118 info.si_errno = 0; 120 info.si_errno = 0;