diff options
author | Prasanna S Panchamukhi <prasanna@in.ibm.com> | 2005-09-06 18:19:30 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-09-07 19:58:00 -0400 |
commit | 05e14cb3bafabbf08216ab5566f3cd687eba9723 (patch) | |
tree | 6320a3e9193c474571401b2c279b1ee176c29c27 /arch/sparc64/mm/fault.c | |
parent | 1f7ad57b75ab0fba27455c7344a6ab7aa6bd90c5 (diff) |
[PATCH] Kprobes: prevent possible race conditions sparc64 changes
This patch contains the sparc64 architecture specific changes to prevent the
possible race conditions.
Signed-off-by: Prasanna S Panchamukhi <prasanna@in.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/sparc64/mm/fault.c')
-rw-r--r-- | arch/sparc64/mm/fault.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/arch/sparc64/mm/fault.c b/arch/sparc64/mm/fault.c index 52e9375288a9..db1e3310e907 100644 --- a/arch/sparc64/mm/fault.c +++ b/arch/sparc64/mm/fault.c | |||
@@ -18,6 +18,7 @@ | |||
18 | #include <linux/smp_lock.h> | 18 | #include <linux/smp_lock.h> |
19 | #include <linux/init.h> | 19 | #include <linux/init.h> |
20 | #include <linux/interrupt.h> | 20 | #include <linux/interrupt.h> |
21 | #include <linux/kprobes.h> | ||
21 | 22 | ||
22 | #include <asm/page.h> | 23 | #include <asm/page.h> |
23 | #include <asm/pgtable.h> | 24 | #include <asm/pgtable.h> |
@@ -117,8 +118,9 @@ unsigned long __init prom_probe_memory (void) | |||
117 | return tally; | 118 | return tally; |
118 | } | 119 | } |
119 | 120 | ||
120 | static void unhandled_fault(unsigned long address, struct task_struct *tsk, | 121 | static void __kprobes unhandled_fault(unsigned long address, |
121 | struct pt_regs *regs) | 122 | struct task_struct *tsk, |
123 | struct pt_regs *regs) | ||
122 | { | 124 | { |
123 | if ((unsigned long) address < PAGE_SIZE) { | 125 | if ((unsigned long) address < PAGE_SIZE) { |
124 | printk(KERN_ALERT "Unable to handle kernel NULL " | 126 | printk(KERN_ALERT "Unable to handle kernel NULL " |
@@ -304,7 +306,7 @@ cannot_handle: | |||
304 | unhandled_fault (address, current, regs); | 306 | unhandled_fault (address, current, regs); |
305 | } | 307 | } |
306 | 308 | ||
307 | asmlinkage void do_sparc64_fault(struct pt_regs *regs) | 309 | asmlinkage void __kprobes do_sparc64_fault(struct pt_regs *regs) |
308 | { | 310 | { |
309 | struct mm_struct *mm = current->mm; | 311 | struct mm_struct *mm = current->mm; |
310 | struct vm_area_struct *vma; | 312 | struct vm_area_struct *vma; |