projects
/
GitHub
/
LineageOS
/
android_kernel_samsung_universal7580.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
|
blame
|
history
diff --git
a/arch/arm/mm/fault.c
b/arch/arm/mm/fault.c
index 501304f7e30c0bbf5563921d00328a45972c26c3..b8b3bb4423cf433ca2aab05b449db77e08611104 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);