diff options
author | Keshavamurthy Anil S <anil.s.keshavamurthy@intel.com> | 2005-12-12 03:37:34 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-12-12 11:57:45 -0500 |
commit | bf8d5c52c3b6b27061e3b7d779057fd9a6cac164 (patch) | |
tree | e4371185eba27db47282410dd490b78598d20636 /arch/powerpc/kernel/kprobes.c | |
parent | 00d7c05ab168c10f9b520e07400923267bc04419 (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.c | 2 |
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; |