]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/linux/kprobes.h
[PATCH] knfsd: nfsd4: initialize recovery directory
[linux-2.6-omap-h63xx.git] / include / linux / kprobes.h
index fba39f87efec2cc3f572c6d053b9ab0d30620f27..5e1a7b0d7b3f7b6286d02ce6416848c1c7025118 100644 (file)
 #include <linux/list.h>
 #include <linux/notifier.h>
 #include <linux/smp.h>
-#include <linux/spinlock.h>
 
 #include <asm/kprobes.h>
 
+/* kprobe_status settings */
+#define KPROBE_HIT_ACTIVE      0x00000001
+#define KPROBE_HIT_SS          0x00000002
+#define KPROBE_REENTER         0x00000004
+#define KPROBE_HIT_SSDONE      0x00000008
+
 struct kprobe;
 struct pt_regs;
 struct kretprobe;
@@ -56,6 +61,9 @@ struct kprobe {
        /* list of kprobes for multi-handler support */
        struct list_head list;
 
+       /*count the number of times this probe was temporarily disarmed */
+       unsigned long nmissed;
+
        /* location of the probe point */
        kprobe_opcode_t *addr;
 
@@ -101,7 +109,7 @@ extern void trampoline_post_handler(struct kprobe *p, struct pt_regs *regs,
                                                        unsigned long flags);
 extern struct task_struct *arch_get_kprobe_task(void *ptr);
 extern void arch_prepare_kretprobe(struct kretprobe *rp, struct pt_regs *regs);
-extern void arch_kprobe_flush_task(struct task_struct *tk, spinlock_t *kp_lock);
+extern void arch_kprobe_flush_task(struct task_struct *tk);
 #else /* ARCH_SUPPORTS_KRETPROBES */
 static inline void kretprobe_trampoline(void)
 {
@@ -165,6 +173,8 @@ static inline int kprobe_running(void)
 
 extern int arch_prepare_kprobe(struct kprobe *p);
 extern void arch_copy_kprobe(struct kprobe *p);
+extern void arch_arm_kprobe(struct kprobe *p);
+extern void arch_disarm_kprobe(struct kprobe *p);
 extern void arch_remove_kprobe(struct kprobe *p);
 extern void show_registers(struct pt_regs *regs);