aboutsummaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorAnanth N Mavinakayanahalli <ananth@in.ibm.com>2008-03-04 17:28:37 -0500
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2008-03-04 19:35:11 -0500
commit9edddaa200df18e08fe0cf21036e8ae467b1363c (patch)
tree26f5319fac24fb6c76b1276b19725caeb5ec24bc /kernel
parent8182ec49a73729334f5a6c65a607ba7009ebd6d6 (diff)
Kprobes: indicate kretprobe support in Kconfig
Add CONFIG_HAVE_KRETPROBES to the arch/<arch>/Kconfig file for relevant architectures with kprobes support. This facilitates easy handling of in-kernel modules (like samples/kprobes/kretprobe_example.c) that depend on kretprobes being present in the kernel. Thanks to Sam Ravnborg for helping make the patch more lean. Per Mathieu's suggestion, added CONFIG_KRETPROBES and fixed up dependencies. Signed-off-by: Ananth N Mavinakayanahalli <ananth@in.ibm.com> Acked-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> Acked-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/kprobes.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/kernel/kprobes.c b/kernel/kprobes.c
index 7a86e6432338..e6a61dcbc578 100644
--- a/kernel/kprobes.c
+++ b/kernel/kprobes.c
@@ -678,8 +678,7 @@ void __kprobes unregister_jprobe(struct jprobe *jp)
678 unregister_kprobe(&jp->kp); 678 unregister_kprobe(&jp->kp);
679} 679}
680 680
681#ifdef ARCH_SUPPORTS_KRETPROBES 681#ifdef CONFIG_KRETPROBES
682
683/* 682/*
684 * This kprobe pre_handler is registered with every kretprobe. When probe 683 * This kprobe pre_handler is registered with every kretprobe. When probe
685 * hits it will set up the return probe. 684 * hits it will set up the return probe.
@@ -769,8 +768,7 @@ int __kprobes register_kretprobe(struct kretprobe *rp)
769 return ret; 768 return ret;
770} 769}
771 770
772#else /* ARCH_SUPPORTS_KRETPROBES */ 771#else /* CONFIG_KRETPROBES */
773
774int __kprobes register_kretprobe(struct kretprobe *rp) 772int __kprobes register_kretprobe(struct kretprobe *rp)
775{ 773{
776 return -ENOSYS; 774 return -ENOSYS;
@@ -781,8 +779,7 @@ static int __kprobes pre_handler_kretprobe(struct kprobe *p,
781{ 779{
782 return 0; 780 return 0;
783} 781}
784 782#endif /* CONFIG_KRETPROBES */
785#endif /* ARCH_SUPPORTS_KRETPROBES */
786 783
787void __kprobes unregister_kretprobe(struct kretprobe *rp) 784void __kprobes unregister_kretprobe(struct kretprobe *rp)
788{ 785{