diff options
author | David Howells <dhowells@redhat.com> | 2008-09-11 12:18:56 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-09-11 13:36:08 -0400 |
commit | d1c6d2e547148c5aa0c0a4ff6aac82f7c6da1d8b (patch) | |
tree | 1e148af6f4898465b1f7387be335734700bf9ff8 /arch/mn10300 | |
parent | 6d242a263618ba7f0f9a41dd91b347d19e704bbe (diff) |
MN10300: Change the fault handler to check in_atomic() not in_interrupt()
Change the MN10300 fault handler to make it check in_atomic() rather than
in_interrupt() as commit 6edaf68a87d17570790fd55f0c451a29ec1d6703 did for other
architectures:
Author: Peter Zijlstra <a.p.zijlstra@chello.nl>
Date: Wed Dec 6 20:32:18 2006 -0800
[PATCH] mm: arch do_page_fault() vs in_atomic()
In light of the recent pagefault and filemap_copy_from_user work I've
gone through all the arch pagefault handlers to make sure the
inc_preempt_count() 'feature' works as expected.
Several sections of code (including the new filemap_copy_from_user)
rely on the fact that faults do not take locks under increased preempt
count.
Signed-off-by: David Howells <dhowells@redhat.com>
Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/mn10300')
-rw-r--r-- | arch/mn10300/mm/fault.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/mn10300/mm/fault.c b/arch/mn10300/mm/fault.c index 78f092ca0316..33cf25025dac 100644 --- a/arch/mn10300/mm/fault.c +++ b/arch/mn10300/mm/fault.c | |||
@@ -174,7 +174,7 @@ asmlinkage void do_page_fault(struct pt_regs *regs, unsigned long fault_code, | |||
174 | * If we're in an interrupt or have no user | 174 | * If we're in an interrupt or have no user |
175 | * context, we must not take the fault.. | 175 | * context, we must not take the fault.. |
176 | */ | 176 | */ |
177 | if (in_interrupt() || !mm) | 177 | if (in_atomic() || !mm) |
178 | goto no_context; | 178 | goto no_context; |
179 | 179 | ||
180 | down_read(&mm->mmap_sem); | 180 | down_read(&mm->mmap_sem); |