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>
This commit is contained in:
Родитель
de5bd88d5a
Коммит
8f9b15286a
|
@ -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
|
Temporarily disables the specified *probe. You can enable it again by using
|
||||||
enable_kprobe(). You must specify the kprobe which has been registered.
|
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
|
Enables *probe which has been disabled by disable_*probe(). You must specify
|
||||||
the kprobe which has been registered.
|
the probe which has been registered.
|
||||||
|
|
||||||
5. Kprobes Features and Limitations
|
5. Kprobes Features and Limitations
|
||||||
|
|
||||||
|
|
|
@ -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 */
|
||||||
|
|
Загрузка…
Ссылка в новой задаче