aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mm/fault.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mm/fault.c')
-rw-r--r--arch/arm/mm/fault.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/arm/mm/fault.c b/arch/arm/mm/fault.c
index 501304f7e30c..b8b3bb4423cf 100644
--- a/arch/arm/mm/fault.c
+++ b/arch/arm/mm/fault.c
@@ -271,6 +271,13 @@ do_page_fault(unsigned long addr, unsigned int fsr, struct pt_regs *regs)
271 if (!user_mode(regs) && !search_exception_tables(regs->ARM_pc)) 271 if (!user_mode(regs) && !search_exception_tables(regs->ARM_pc))
272 goto no_context; 272 goto no_context;
273 down_read(&mm->mmap_sem); 273 down_read(&mm->mmap_sem);
274 } else {
275 /*
276 * The above down_read_trylock() might have succeeded in
277 * which case, we'll have missed the might_sleep() from
278 * down_read()
279 */
280 might_sleep();
274 } 281 }
275 282
276 fault = __do_page_fault(mm, addr, fsr, tsk); 283 fault = __do_page_fault(mm, addr, fsr, tsk);