aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/kprobes.c
diff options
context:
space:
mode:
authorKeshavamurthy Anil S <anil.s.keshavamurthy@intel.com>2005-12-12 03:37:34 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2005-12-12 11:57:45 -0500
commitbf8d5c52c3b6b27061e3b7d779057fd9a6cac164 (patch)
treee4371185eba27db47282410dd490b78598d20636 /arch/powerpc/kernel/kprobes.c
parent00d7c05ab168c10f9b520e07400923267bc04419 (diff)
[PATCH] kprobes: increment kprobe missed count for multiprobes
When multiple probes are registered at the same address and if due to some recursion (probe getting triggered within a probe handler), we skip calling pre_handlers and just increment nmissed field. The below patch make sure it walks the list for multiple probes case. Without the below patch we get incorrect results of nmissed count for multiple probe case. 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 'arch/powerpc/kernel/kprobes.c')
-rw-r--r--arch/powerpc/kernel/kprobes.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/powerpc/kernel/kprobes.c b/arch/powerpc/kernel/kprobes.c
index 511af54e6230..5368f9c2e6bf 100644
--- a/arch/powerpc/kernel/kprobes.c
+++ b/arch/powerpc/kernel/kprobes.c
@@ -177,7 +177,7 @@ static inline int kprobe_handler(struct pt_regs *regs)
177 save_previous_kprobe(kcb); 177 save_previous_kprobe(kcb);
178 set_current_kprobe(p, regs, kcb); 178 set_current_kprobe(p, regs, kcb);
179 kcb->kprobe_saved_msr = regs->msr; 179 kcb->kprobe_saved_msr = regs->msr;
180 p->nmissed++; 180 kprobes_inc_nmissed_count(p);
181 prepare_singlestep(p, regs); 181 prepare_singlestep(p, regs);
182 kcb->kprobe_status = KPROBE_REENTER; 182 kcb->kprobe_status = KPROBE_REENTER;
183 return 1; 183 return 1;