Bläddra i källkod

kprobes: support kretprobe and jprobe per-probe disabling

Add disable/enable_kretprobe() and disable/enable_jprobe().

Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com>
Acked-by: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
Cc: Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com>
Cc: David S. Miller <davem@davemloft.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Masami Hiramatsu 16 år sedan
förälder
incheckning
8f9b15286a
2 ändrade filer med 27 tillägg och 6 borttagningar
  1. 10 6
      Documentation/kprobes.txt
  2. 17 0
      include/linux/kprobes.h

+ 10 - 6
Documentation/kprobes.txt

@@ -365,21 +365,25 @@ probes) in the specified array, they clear the addr field of those
 incorrect probes. However, other probes in the array are
 incorrect probes. However, other probes in the array are
 unregistered correctly.
 unregistered correctly.
 
 
-4.7 disable_kprobe
+4.7 disable_*probe
 
 
 #include <linux/kprobes.h>
 #include <linux/kprobes.h>
 int disable_kprobe(struct kprobe *kp);
 int disable_kprobe(struct kprobe *kp);
+int disable_kretprobe(struct kretprobe *rp);
+int disable_jprobe(struct jprobe *jp);
 
 
-Temporarily disables the specified kprobe. You can enable it again by using
-enable_kprobe(). You must specify the kprobe which has been registered.
+Temporarily disables the specified *probe. You can enable it again by using
+enable_*probe(). You must specify the probe which has been registered.
 
 
-4.8 enable_kprobe
+4.8 enable_*probe
 
 
 #include <linux/kprobes.h>
 #include <linux/kprobes.h>
 int enable_kprobe(struct kprobe *kp);
 int enable_kprobe(struct kprobe *kp);
+int enable_kretprobe(struct kretprobe *rp);
+int enable_jprobe(struct jprobe *jp);
 
 
-Enables kprobe which has been disabled by disable_kprobe(). You must specify
-the kprobe which has been registered.
+Enables *probe which has been disabled by disable_*probe(). You must specify
+the probe which has been registered.
 
 
 5. Kprobes Features and Limitations
 5. Kprobes Features and Limitations
 
 

+ 17 - 0
include/linux/kprobes.h

@@ -371,4 +371,21 @@ static inline int enable_kprobe(struct kprobe *kp)
 	return -ENOSYS;
 	return -ENOSYS;
 }
 }
 #endif /* CONFIG_KPROBES */
 #endif /* CONFIG_KPROBES */
+static inline int disable_kretprobe(struct kretprobe *rp)
+{
+	return disable_kprobe(&rp->kp);
+}
+static inline int enable_kretprobe(struct kretprobe *rp)
+{
+	return enable_kprobe(&rp->kp);
+}
+static inline int disable_jprobe(struct jprobe *jp)
+{
+	return disable_kprobe(&jp->kp);
+}
+static inline int enable_jprobe(struct jprobe *jp)
+{
+	return enable_kprobe(&jp->kp);
+}
+
 #endif /* _LINUX_KPROBES_H */
 #endif /* _LINUX_KPROBES_H */