* [PATCH] kprobes: incorrect spin_unlock_irqrestore() call in register_kprobe()
@ 2005-03-16 5:42 Prasanna S Panchamukhi
0 siblings, 0 replies; only message in thread
From: Prasanna S Panchamukhi @ 2005-03-16 5:42 UTC (permalink / raw)
To: Andrew Morton, Andi Kleen; +Cc: linux-kernel, maneesh
Hi,
register_kprobe() routine was calling spin_unlock_irqrestore()
wrongly.
This patch removes unwanted spin_unlock_irqrestore() call in
register_kprobe() routine.
Signed-off-by: Prasanna S Panchamukhi <prasanna@in.ibm.com>
---
---
linux-2.6.11-prasanna/kernel/kprobes.c | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
diff -puN kernel/kprobes.c~kprobes-incorrect-returnval kernel/kprobes.c
--- linux-2.6.11/kernel/kprobes.c~kprobes-incorrect-returnval 2005-03-16 11:03:42.000000000 +0530
+++ linux-2.6.11-prasanna/kernel/kprobes.c 2005-03-16 11:03:42.000000000 +0530
@@ -79,7 +79,7 @@ int register_kprobe(struct kprobe *p)
unsigned long flags = 0;
if ((ret = arch_prepare_kprobe(p)) != 0) {
- goto out;
+ goto rm_kprobe;
}
spin_lock_irqsave(&kprobe_lock, flags);
INIT_HLIST_NODE(&p->hlist);
@@ -96,8 +96,9 @@ int register_kprobe(struct kprobe *p)
*p->addr = BREAKPOINT_INSTRUCTION;
flush_icache_range((unsigned long) p->addr,
(unsigned long) p->addr + sizeof(kprobe_opcode_t));
- out:
+out:
spin_unlock_irqrestore(&kprobe_lock, flags);
+rm_kprobe:
if (ret == -EEXIST)
arch_remove_kprobe(p);
return ret;
_
Thanks
Prasanna
--
Prasanna S Panchamukhi
Linux Technology Center
India Software Labs, IBM Bangalore
Ph: 91-80-25044636
<prasanna@in.ibm.com>
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2005-03-16 5:40 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-03-16 5:42 [PATCH] kprobes: incorrect spin_unlock_irqrestore() call in register_kprobe() Prasanna S Panchamukhi
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox