summaryrefslogtreecommitdiff
path: root/arch/ia64/kernel/kprobes.c
diff options
context:
space:
mode:
authorDavid Vrabel <david.vrabel@csr.com>2009-01-07 13:45:25 +0300
committerDavid Vrabel <david.vrabel@csr.com>2009-01-07 13:45:25 +0300
commita23e66f3b8cfdedec14541e71ef29a754870a20c (patch)
treef8ac23572982e92e6f8ae09c4039db627bdf53ee /arch/ia64/kernel/kprobes.c
parent04c470adb01c62bb9bd663cfc4875cf0a4eb01ab (diff)
parentede6f5aea054d3fb67c78857f7abdee602302043 (diff)
downloadlinux-a23e66f3b8cfdedec14541e71ef29a754870a20c.tar.xz
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into for-upstream
Diffstat (limited to 'arch/ia64/kernel/kprobes.c')
-rw-r--r--arch/ia64/kernel/kprobes.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/arch/ia64/kernel/kprobes.c b/arch/ia64/kernel/kprobes.c
index f07688da947c..097b84d54e73 100644
--- a/arch/ia64/kernel/kprobes.c
+++ b/arch/ia64/kernel/kprobes.c
@@ -670,9 +670,11 @@ void __kprobes arch_disarm_kprobe(struct kprobe *p)
void __kprobes arch_remove_kprobe(struct kprobe *p)
{
- mutex_lock(&kprobe_mutex);
- free_insn_slot(p->ainsn.insn, p->ainsn.inst_flag & INST_FLAG_BOOSTABLE);
- mutex_unlock(&kprobe_mutex);
+ if (p->ainsn.insn) {
+ free_insn_slot(p->ainsn.insn,
+ p->ainsn.inst_flag & INST_FLAG_BOOSTABLE);
+ p->ainsn.insn = NULL;
+ }
}
/*
* We are resuming execution after a single step fault, so the pt_regs