diff options
Diffstat (limited to 'arch/x86_64/kernel/kprobes.c')
-rw-r--r-- | arch/x86_64/kernel/kprobes.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/x86_64/kernel/kprobes.c b/arch/x86_64/kernel/kprobes.c index 128e18190f99..61a6a9369cbd 100644 --- a/arch/x86_64/kernel/kprobes.c +++ b/arch/x86_64/kernel/kprobes.c | |||
@@ -220,9 +220,11 @@ void __kprobes arch_disarm_kprobe(struct kprobe *p) | |||
220 | (unsigned long) p->addr + sizeof(kprobe_opcode_t)); | 220 | (unsigned long) p->addr + sizeof(kprobe_opcode_t)); |
221 | } | 221 | } |
222 | 222 | ||
223 | void __kprobes arch_remove_kprobe(struct kprobe *p) | 223 | void __kprobes arch_remove_kprobe(struct kprobe *p, struct semaphore *s) |
224 | { | 224 | { |
225 | down(s); | ||
225 | free_insn_slot(p->ainsn.insn); | 226 | free_insn_slot(p->ainsn.insn); |
227 | up(s); | ||
226 | } | 228 | } |
227 | 229 | ||
228 | static inline void save_previous_kprobe(struct kprobe_ctlblk *kcb) | 230 | static inline void save_previous_kprobe(struct kprobe_ctlblk *kcb) |