From 0c5bfa08db38c2fcf08c322b599fe6efdbdfa2b1 Mon Sep 17 00:00:00 2001 From: Al Viro Date: Sun, 16 Dec 2012 00:25:57 +0000 Subject: [PATCH] --- yaml --- r: 347771 b: refs/heads/master c: 7bf9b7bef881aac820bf1f2e9951a17b09bd7e04 h: refs/heads/master i: 347769: 39af191dcf885039043c0f5ff97fea330e9ac6f0 347767: 3d7813fabf78c57df555b99af8724802d9d1182c v: v3 --- [refs] | 2 +- trunk/arch/arm/kernel/swp_emulate.c | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 4555b9e5a290..68e797de23a9 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: dad5451a322bb682704f3ab13a558508a83e0b93 +refs/heads/master: 7bf9b7bef881aac820bf1f2e9951a17b09bd7e04 diff --git a/trunk/arch/arm/kernel/swp_emulate.c b/trunk/arch/arm/kernel/swp_emulate.c index df745188f5de..ab1017bd1667 100644 --- a/trunk/arch/arm/kernel/swp_emulate.c +++ b/trunk/arch/arm/kernel/swp_emulate.c @@ -109,10 +109,12 @@ static void set_segfault(struct pt_regs *regs, unsigned long addr) { siginfo_t info; + down_read(¤t->mm->mmap_sem); if (find_vma(current->mm, addr) == NULL) info.si_code = SEGV_MAPERR; else info.si_code = SEGV_ACCERR; + up_read(¤t->mm->mmap_sem); info.si_signo = SIGSEGV; info.si_errno = 0;