diff options
author | Rusty Lynch <rusty.lynch@intel.com> | 2005-06-23 03:09:30 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-06-23 12:45:23 -0400 |
commit | 8bc76772ad653bcaad1b0af72aafb6072ef0fa87 (patch) | |
tree | d778f0cc2640e078338d84cdc67cda403cc47d7b /include/asm-ia64 | |
parent | cd2675bf65455a45b54228b7acc0c6a26a164cb6 (diff) |
[PATCH] Kprobes ia64 cleanup
A cleanup of the ia64 kprobes implementation such that all of the bundle
manipulation logic is concentrated in arch_prepare_kprobe().
With the current design for kprobes, the arch specific code only has a
chance to return failure inside the arch_prepare_kprobe() function.
This patch moves all of the work that was happening in arch_copy_kprobe()
and most of the work that was happening in arch_arm_kprobe() into
arch_prepare_kprobe(). By doing this we can add further robustness checks
in arch_arm_kprobe() and refuse to insert kprobes that will cause problems.
Signed-off-by: Rusty Lynch <Rusty.lynch@intel.com>
Signed-off-by: Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/asm-ia64')
-rw-r--r-- | include/asm-ia64/kprobes.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/include/asm-ia64/kprobes.h b/include/asm-ia64/kprobes.h index d30af77a0b11..cec4d9958307 100644 --- a/include/asm-ia64/kprobes.h +++ b/include/asm-ia64/kprobes.h | |||
@@ -30,6 +30,8 @@ | |||
30 | 30 | ||
31 | #define BREAK_INST (long)(__IA64_BREAK_KPROBE << 6) | 31 | #define BREAK_INST (long)(__IA64_BREAK_KPROBE << 6) |
32 | 32 | ||
33 | struct kprobe; | ||
34 | |||
33 | typedef struct _bundle { | 35 | typedef struct _bundle { |
34 | struct { | 36 | struct { |
35 | unsigned long long template : 5; | 37 | unsigned long long template : 5; |
@@ -79,6 +81,11 @@ static inline void jprobe_return(void) | |||
79 | { | 81 | { |
80 | } | 82 | } |
81 | 83 | ||
84 | /* ia64 does not need this */ | ||
85 | static inline void arch_copy_kprobe(struct kprobe *p) | ||
86 | { | ||
87 | } | ||
88 | |||
82 | #ifdef CONFIG_KPROBES | 89 | #ifdef CONFIG_KPROBES |
83 | extern int kprobe_exceptions_notify(struct notifier_block *self, | 90 | extern int kprobe_exceptions_notify(struct notifier_block *self, |
84 | unsigned long val, void *data); | 91 | unsigned long val, void *data); |