diff options
author | Jesper Nilsson <jesper.nilsson@axis.com> | 2010-08-04 11:23:24 -0400 |
---|---|---|
committer | Jesper Nilsson <jesper.nilsson@axis.com> | 2010-08-04 12:28:48 -0400 |
commit | 028c1f6817c1ef49c61641dc1ae6c629e5bb32df (patch) | |
tree | b21fe8ab63975791c8ddffb79c08e4b476ce120a /arch/cris | |
parent | a90993c693ab7bd72bcb28b105e8dd4f0698f836 (diff) |
CRIS: Don't take faults while in_atomic
Signed-off-by: Jesper Nilsson <jesper.nilsson@axis.com>
Diffstat (limited to 'arch/cris')
-rw-r--r-- | arch/cris/mm/fault.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/arch/cris/mm/fault.c b/arch/cris/mm/fault.c index 72dbdbf0accf..a2b4c0b8f0fd 100644 --- a/arch/cris/mm/fault.c +++ b/arch/cris/mm/fault.c | |||
@@ -1,10 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * linux/arch/cris/mm/fault.c | 2 | * arch/cris/mm/fault.c |
3 | * | ||
4 | * Copyright (C) 2000-2006 Axis Communications AB | ||
5 | * | ||
6 | * Authors: Bjorn Wesen | ||
7 | * | 3 | * |
4 | * Copyright (C) 2000-2010 Axis Communications AB | ||
8 | */ | 5 | */ |
9 | 6 | ||
10 | #include <linux/mm.h> | 7 | #include <linux/mm.h> |
@@ -108,11 +105,11 @@ do_page_fault(unsigned long address, struct pt_regs *regs, | |||
108 | info.si_code = SEGV_MAPERR; | 105 | info.si_code = SEGV_MAPERR; |
109 | 106 | ||
110 | /* | 107 | /* |
111 | * If we're in an interrupt or have no user | 108 | * If we're in an interrupt or "atomic" operation or have no |
112 | * context, we must not take the fault.. | 109 | * user context, we must not take the fault. |
113 | */ | 110 | */ |
114 | 111 | ||
115 | if (in_interrupt() || !mm) | 112 | if (in_atomic() || !mm) |
116 | goto no_context; | 113 | goto no_context; |
117 | 114 | ||
118 | down_read(&mm->mmap_sem); | 115 | down_read(&mm->mmap_sem); |