diff options
author | Ananth N Mavinakayanahalli <ananth@in.ibm.com> | 2008-03-04 17:28:37 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2008-03-04 19:35:11 -0500 |
commit | 9edddaa200df18e08fe0cf21036e8ae467b1363c (patch) | |
tree | 26f5319fac24fb6c76b1276b19725caeb5ec24bc /kernel/kprobes.c | |
parent | 8182ec49a73729334f5a6c65a607ba7009ebd6d6 (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/kprobes.c')
-rw-r--r-- | kernel/kprobes.c | 9 |
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 | |||
774 | int __kprobes register_kretprobe(struct kretprobe *rp) | 772 | int __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 | ||
787 | void __kprobes unregister_kretprobe(struct kretprobe *rp) | 784 | void __kprobes unregister_kretprobe(struct kretprobe *rp) |
788 | { | 785 | { |