Messages in this thread | | | Date | Tue, 06 Jan 2009 11:39:39 -0500 | From | Masami Hiramatsu <> | Subject | Re: [PATCH][bugfix] kprobes: fix module compilation error with CONFIG_KPROBES=n |
| |
Oops, this patch was actually for -mm tree.
Masami Hiramatsu wrote: > Define kprobes related data structures even if CONFIG_KPROBES is not set. > This fixes compilation errors which occur if CONFIG_KPROBES is not set, in > kprobe using modules. > > Reviewed-by: Ananth N Mavinakayanahalli <ananth@in.ibm.com> > Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com> > --- > include/linux/kprobes.h | 45 +++++++++++++++++++++++---------------------- > 1 file changed, 23 insertions(+), 22 deletions(-) > > Index: 2.6.28/include/linux/kprobes.h > =================================================================== > --- 2.6.28.orig/include/linux/kprobes.h > +++ 2.6.28/include/linux/kprobes.h > @@ -37,9 +37,9 @@ > #include <linux/spinlock.h> > #include <linux/rcupdate.h> > #include <linux/mutex.h> > +#include <asm/kprobes.h> > > #ifdef CONFIG_KPROBES > -#include <asm/kprobes.h> > > /* kprobe_status settings */ > #define KPROBE_HIT_ACTIVE 0x00000001 > @@ -49,6 +49,9 @@ > > /* Attach to insert probes on any functions which should be ignored*/ > #define __kprobes __attribute__((__section__(".kprobes.text"))) notrace > +#else /* CONFIG_KPROBES */ > +#define __kprobes notrace > +#endif /* CONFIG_KPROBES */ > > struct kprobe; > struct pt_regs; > @@ -131,23 +134,6 @@ struct jprobe { > /* For backward compatibility with old code using JPROBE_ENTRY() */ > #define JPROBE_ENTRY(handler) (handler) > > -DECLARE_PER_CPU(struct kprobe *, current_kprobe); > -DECLARE_PER_CPU(struct kprobe_ctlblk, kprobe_ctlblk); > - > -#ifdef CONFIG_KRETPROBES > -extern void arch_prepare_kretprobe(struct kretprobe_instance *ri, > - struct pt_regs *regs); > -extern int arch_trampoline_kprobe(struct kprobe *p); > -#else /* CONFIG_KRETPROBES */ > -static inline void arch_prepare_kretprobe(struct kretprobe *rp, > - struct pt_regs *regs) > -{ > -} > -static inline int arch_trampoline_kprobe(struct kprobe *p) > -{ > - return 0; > -} > -#endif /* CONFIG_KRETPROBES */ > /* > * Function-return probe - > * Note: > @@ -188,6 +174,25 @@ struct kprobe_blackpoint { > unsigned long range; > }; > > +#ifdef CONFIG_KPROBES > +DECLARE_PER_CPU(struct kprobe *, current_kprobe); > +DECLARE_PER_CPU(struct kprobe_ctlblk, kprobe_ctlblk); > + > +#ifdef CONFIG_KRETPROBES > +extern void arch_prepare_kretprobe(struct kretprobe_instance *ri, > + struct pt_regs *regs); > +extern int arch_trampoline_kprobe(struct kprobe *p); > +#else /* CONFIG_KRETPROBES */ > +static inline void arch_prepare_kretprobe(struct kretprobe *rp, > + struct pt_regs *regs) > +{ > +} > +static inline int arch_trampoline_kprobe(struct kprobe *p) > +{ > + return 0; > +} > +#endif /* CONFIG_KRETPROBES */ > + > extern struct kretprobe_blackpoint kretprobe_blacklist[]; > > static inline void kretprobe_assert(struct kretprobe_instance *ri, > @@ -264,10 +269,6 @@ void recycle_rp_inst(struct kretprobe_in > > #else /* CONFIG_KPROBES */ > > -#define __kprobes notrace > -struct jprobe; > -struct kretprobe; > - > static inline struct kprobe *get_kprobe(void *addr) > { > return NULL;
-- Masami Hiramatsu
Software Engineer Hitachi Computer Products (America) Inc. Software Solutions Division
e-mail: mhiramat@redhat.com
| |