diff options
author | David Howells <dhowells@redhat.com> | 2008-09-11 17:18:56 +0100 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-09-11 10:36:08 -0700 |
commit | d1c6d2e547148c5aa0c0a4ff6aac82f7c6da1d8b (patch) | |
tree | 1e148af6f4898465b1f7387be335734700bf9ff8 /arch/mn10300/mm | |
parent | 6d242a263618ba7f0f9a41dd91b347d19e704bbe (diff) | |
download | op-kernel-dev-d1c6d2e547148c5aa0c0a4ff6aac82f7c6da1d8b.zip op-kernel-dev-d1c6d2e547148c5aa0c0a4ff6aac82f7c6da1d8b.tar.gz |
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/mm')
-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 78f092c..33cf250 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, * If we're in an interrupt or have no user * context, we must not take the fault.. */ - if (in_interrupt() || !mm) + if (in_atomic() || !mm) goto no_context; down_read(&mm->mmap_sem); |