aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
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 /include/linux
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 'include/linux')
-rw-r--r--include/linux/kprobes.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/kprobes.h b/include/linux/kprobes.h
index 434ecfd7cf48..c03f2dc933de 100644
--- a/include/linux/kprobes.h
+++ b/include/linux/kprobes.h
@@ -158,6 +158,7 @@ extern int arch_init_kprobes(void);
158extern void show_registers(struct pt_regs *regs); 158extern void show_registers(struct pt_regs *regs);
159extern kprobe_opcode_t *get_insn_slot(void); 159extern kprobe_opcode_t *get_insn_slot(void);
160extern void free_insn_slot(kprobe_opcode_t *slot); 160extern void free_insn_slot(kprobe_opcode_t *slot);
161extern void kprobes_inc_nmissed_count(struct kprobe *p);
161 162
162/* Get the kprobe at this addr (if any) - called with preemption disabled */ 163/* Get the kprobe at this addr (if any) - called with preemption disabled */
163struct kprobe *get_kprobe(void *addr); 164struct kprobe *get_kprobe(void *addr);