diff options
author | Ananth N Mavinakayanahalli <ananth@in.ibm.com> | 2006-01-09 23:52:46 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-10 11:01:40 -0500 |
commit | 0498b63504f818e5ab39c818cd6f7b41319a1187 (patch) | |
tree | d040fd5e2703f9ad601c6949f58ea29e8554154e /include | |
parent | e597c2984c64609c6e1e1ac803f00f7550705860 (diff) |
[PATCH] kprobes: fix build breakage
The following patch (against 2.6.15-rc5-mm3) fixes a kprobes build break
due to changes introduced in the kprobe locking in 2.6.15-rc5-mm3. In
addition, the patch reverts back the open-coding of kprobe_mutex.
Signed-off-by: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
Acked-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')
-rw-r--r-- | include/asm-i386/kprobes.h | 2 | ||||
-rw-r--r-- | include/asm-ia64/kprobes.h | 2 | ||||
-rw-r--r-- | include/asm-powerpc/kprobes.h | 3 | ||||
-rw-r--r-- | include/asm-sparc64/kprobes.h | 2 | ||||
-rw-r--r-- | include/asm-x86_64/kprobes.h | 3 | ||||
-rw-r--r-- | include/linux/kprobes.h | 1 |
6 files changed, 8 insertions, 5 deletions
diff --git a/include/asm-i386/kprobes.h b/include/asm-i386/kprobes.h index dc559267ce3e..27cac050a60e 100644 --- a/include/asm-i386/kprobes.h +++ b/include/asm-i386/kprobes.h | |||
@@ -40,7 +40,7 @@ typedef u8 kprobe_opcode_t; | |||
40 | 40 | ||
41 | #define JPROBE_ENTRY(pentry) (kprobe_opcode_t *)pentry | 41 | #define JPROBE_ENTRY(pentry) (kprobe_opcode_t *)pentry |
42 | #define ARCH_SUPPORTS_KRETPROBES | 42 | #define ARCH_SUPPORTS_KRETPROBES |
43 | #define arch_remove_kprobe(p, s) do { } while(0) | 43 | #define arch_remove_kprobe(p) do {} while (0) |
44 | 44 | ||
45 | void kretprobe_trampoline(void); | 45 | void kretprobe_trampoline(void); |
46 | 46 | ||
diff --git a/include/asm-ia64/kprobes.h b/include/asm-ia64/kprobes.h index 698508f4a0cf..a74b68104559 100644 --- a/include/asm-ia64/kprobes.h +++ b/include/asm-ia64/kprobes.h | |||
@@ -89,7 +89,7 @@ struct kprobe_ctlblk { | |||
89 | #define IP_RELATIVE_PREDICT_OPCODE (7) | 89 | #define IP_RELATIVE_PREDICT_OPCODE (7) |
90 | #define LONG_BRANCH_OPCODE (0xC) | 90 | #define LONG_BRANCH_OPCODE (0xC) |
91 | #define LONG_CALL_OPCODE (0xD) | 91 | #define LONG_CALL_OPCODE (0xD) |
92 | #define arch_remove_kprobe(p, s) do { } while(0) | 92 | #define arch_remove_kprobe(p) do {} while (0) |
93 | 93 | ||
94 | typedef struct kprobe_opcode { | 94 | typedef struct kprobe_opcode { |
95 | bundle_t bundle; | 95 | bundle_t bundle; |
diff --git a/include/asm-powerpc/kprobes.h b/include/asm-powerpc/kprobes.h index 89dee13c2a4c..f466bc804f41 100644 --- a/include/asm-powerpc/kprobes.h +++ b/include/asm-powerpc/kprobes.h | |||
@@ -33,6 +33,7 @@ | |||
33 | #define __ARCH_WANT_KPROBES_INSN_SLOT | 33 | #define __ARCH_WANT_KPROBES_INSN_SLOT |
34 | 34 | ||
35 | struct pt_regs; | 35 | struct pt_regs; |
36 | struct kprobe; | ||
36 | 37 | ||
37 | typedef unsigned int kprobe_opcode_t; | 38 | typedef unsigned int kprobe_opcode_t; |
38 | #define BREAKPOINT_INSTRUCTION 0x7fe00008 /* trap */ | 39 | #define BREAKPOINT_INSTRUCTION 0x7fe00008 /* trap */ |
@@ -50,7 +51,7 @@ typedef unsigned int kprobe_opcode_t; | |||
50 | 51 | ||
51 | #define ARCH_SUPPORTS_KRETPROBES | 52 | #define ARCH_SUPPORTS_KRETPROBES |
52 | void kretprobe_trampoline(void); | 53 | void kretprobe_trampoline(void); |
53 | extern void arch_remove_kprobe(struct kprobe *p, struct semaphore *s); | 54 | extern void arch_remove_kprobe(struct kprobe *p); |
54 | 55 | ||
55 | /* Architecture specific copy of original instruction */ | 56 | /* Architecture specific copy of original instruction */ |
56 | struct arch_specific_insn { | 57 | struct arch_specific_insn { |
diff --git a/include/asm-sparc64/kprobes.h b/include/asm-sparc64/kprobes.h index 27fbdcba724b..e4efe652b54b 100644 --- a/include/asm-sparc64/kprobes.h +++ b/include/asm-sparc64/kprobes.h | |||
@@ -12,7 +12,7 @@ typedef u32 kprobe_opcode_t; | |||
12 | #define MAX_INSN_SIZE 2 | 12 | #define MAX_INSN_SIZE 2 |
13 | 13 | ||
14 | #define JPROBE_ENTRY(pentry) (kprobe_opcode_t *)pentry | 14 | #define JPROBE_ENTRY(pentry) (kprobe_opcode_t *)pentry |
15 | #define arch_remove_kprobe(p, s) do { } while(0) | 15 | #define arch_remove_kprobe(p) do {} while (0) |
16 | 16 | ||
17 | /* Architecture specific copy of original instruction*/ | 17 | /* Architecture specific copy of original instruction*/ |
18 | struct arch_specific_insn { | 18 | struct arch_specific_insn { |
diff --git a/include/asm-x86_64/kprobes.h b/include/asm-x86_64/kprobes.h index 3a19ad179220..98a1e95ddb98 100644 --- a/include/asm-x86_64/kprobes.h +++ b/include/asm-x86_64/kprobes.h | |||
@@ -30,6 +30,7 @@ | |||
30 | #define __ARCH_WANT_KPROBES_INSN_SLOT | 30 | #define __ARCH_WANT_KPROBES_INSN_SLOT |
31 | 31 | ||
32 | struct pt_regs; | 32 | struct pt_regs; |
33 | struct kprobe; | ||
33 | 34 | ||
34 | typedef u8 kprobe_opcode_t; | 35 | typedef u8 kprobe_opcode_t; |
35 | #define BREAKPOINT_INSTRUCTION 0xcc | 36 | #define BREAKPOINT_INSTRUCTION 0xcc |
@@ -44,6 +45,7 @@ typedef u8 kprobe_opcode_t; | |||
44 | #define ARCH_SUPPORTS_KRETPROBES | 45 | #define ARCH_SUPPORTS_KRETPROBES |
45 | 46 | ||
46 | void kretprobe_trampoline(void); | 47 | void kretprobe_trampoline(void); |
48 | extern void arch_remove_kprobe(struct kprobe *p); | ||
47 | 49 | ||
48 | /* Architecture specific copy of original instruction*/ | 50 | /* Architecture specific copy of original instruction*/ |
49 | struct arch_specific_insn { | 51 | struct arch_specific_insn { |
@@ -78,7 +80,6 @@ static inline void restore_interrupts(struct pt_regs *regs) | |||
78 | local_irq_enable(); | 80 | local_irq_enable(); |
79 | } | 81 | } |
80 | 82 | ||
81 | extern void arch_remove_kprobe(struct kprobe *p, struct semaphore *s); | ||
82 | extern int post_kprobe_handler(struct pt_regs *regs); | 83 | extern int post_kprobe_handler(struct pt_regs *regs); |
83 | extern int kprobe_fault_handler(struct pt_regs *regs, int trapnr); | 84 | extern int kprobe_fault_handler(struct pt_regs *regs, int trapnr); |
84 | extern int kprobe_handler(struct pt_regs *regs); | 85 | extern int kprobe_handler(struct pt_regs *regs); |
diff --git a/include/linux/kprobes.h b/include/linux/kprobes.h index 59bf240cdb9d..10005bc92a31 100644 --- a/include/linux/kprobes.h +++ b/include/linux/kprobes.h | |||
@@ -149,6 +149,7 @@ struct kretprobe_instance { | |||
149 | }; | 149 | }; |
150 | 150 | ||
151 | extern spinlock_t kretprobe_lock; | 151 | extern spinlock_t kretprobe_lock; |
152 | extern struct semaphore kprobe_mutex; | ||
152 | extern int arch_prepare_kprobe(struct kprobe *p); | 153 | extern int arch_prepare_kprobe(struct kprobe *p); |
153 | extern void arch_arm_kprobe(struct kprobe *p); | 154 | extern void arch_arm_kprobe(struct kprobe *p); |
154 | extern void arch_disarm_kprobe(struct kprobe *p); | 155 | extern void arch_disarm_kprobe(struct kprobe *p); |