projects
/
platform
/
kernel
/
kernel-mfld-blackbay.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
b42c634
)
ARM: Ensure correct might_sleep() check in pagefault path
author
Russell King
<rmk+kernel@arm.linux.org.uk>
Sun, 20 Sep 2009 11:52:19 +0000
(12:52 +0100)
committer
Russell King
<rmk+kernel@arm.linux.org.uk>
Sun, 20 Sep 2009 11:55:50 +0000
(12:55 +0100)
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/mm/fault.c
patch
|
blob
|
history
diff --git
a/arch/arm/mm/fault.c
b/arch/arm/mm/fault.c
index
501304f
..
b8b3bb4
100644
(file)
--- 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)
if (!user_mode(regs) && !search_exception_tables(regs->ARM_pc))
goto no_context;
down_read(&mm->mmap_sem);
+ } else {
+ /*
+ * The above down_read_trylock() might have succeeded in
+ * which case, we'll have missed the might_sleep() from
+ * down_read()
+ */
+ might_sleep();
}
fault = __do_page_fault(mm, addr, fsr, tsk);