diff options
Diffstat (limited to 'arch/mips/mm/fault.c')
-rw-r--r-- | arch/mips/mm/fault.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/arch/mips/mm/fault.c b/arch/mips/mm/fault.c index 0fead53d1c26..85df1cd8d446 100644 --- a/arch/mips/mm/fault.c +++ b/arch/mips/mm/fault.c | |||
@@ -5,6 +5,7 @@ | |||
5 | * | 5 | * |
6 | * Copyright (C) 1995 - 2000 by Ralf Baechle | 6 | * Copyright (C) 1995 - 2000 by Ralf Baechle |
7 | */ | 7 | */ |
8 | #include <linux/context_tracking.h> | ||
8 | #include <linux/signal.h> | 9 | #include <linux/signal.h> |
9 | #include <linux/sched.h> | 10 | #include <linux/sched.h> |
10 | #include <linux/interrupt.h> | 11 | #include <linux/interrupt.h> |
@@ -32,8 +33,8 @@ | |||
32 | * and the problem, and then passes it off to one of the appropriate | 33 | * and the problem, and then passes it off to one of the appropriate |
33 | * routines. | 34 | * routines. |
34 | */ | 35 | */ |
35 | asmlinkage void __kprobes do_page_fault(struct pt_regs *regs, unsigned long write, | 36 | static void __kprobes __do_page_fault(struct pt_regs *regs, unsigned long write, |
36 | unsigned long address) | 37 | unsigned long address) |
37 | { | 38 | { |
38 | struct vm_area_struct * vma = NULL; | 39 | struct vm_area_struct * vma = NULL; |
39 | struct task_struct *tsk = current; | 40 | struct task_struct *tsk = current; |
@@ -312,3 +313,13 @@ vmalloc_fault: | |||
312 | } | 313 | } |
313 | #endif | 314 | #endif |
314 | } | 315 | } |
316 | |||
317 | asmlinkage void __kprobes do_page_fault(struct pt_regs *regs, | ||
318 | unsigned long write, unsigned long address) | ||
319 | { | ||
320 | enum ctx_state prev_state; | ||
321 | |||
322 | prev_state = exception_enter(); | ||
323 | __do_page_fault(regs, write, address); | ||
324 | exception_exit(prev_state); | ||
325 | } | ||