Messages in this thread Patch in this message | | | Date | Wed, 14 Jan 2009 11:31:19 -0500 | From | Masami Hiramatsu <> | Subject | Re: [PATCH][bugfix] kprobes: fix module compilation error with CONFIG_KPROBES=n |
| |
Andrew Morton wrote: > On Mon, 05 Jan 2009 17:23:05 -0500 Masami Hiramatsu <mhiramat@redhat.com> 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> >> > > The above change breaks alpha, and any other architecture which has no > asm/kprobes.h.
Oops, indeed. Thank you for finding it!
> I undid that change, but maybe that rebroke things?
Yes, some structures should be defined in asm/kprobes.h, so here is an additional fix patch.
------------------------------------------------------ From: Masami Hiramatsu <mhiramat@redhat.com>
Add dummy definitions of kprobe_opcode_t and arch_specific_insn when CONFIG_KPROBES=n.
Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com> --- include/linux/kprobes.h | 4 ++++ 1 file changed, 4 insertions(+)
Index: 2.6-mm/include/linux/kprobes.h =================================================================== --- 2.6-mm.orig/include/linux/kprobes.h +++ 2.6-mm/include/linux/kprobes.h @@ -50,6 +50,10 @@ /* Attach to insert probes on any functions which should be ignored*/ #define __kprobes __attribute__((__section__(".kprobes.text"))) notrace #else /* CONFIG_KPROBES */ +typedef int kprobe_opcode_t; +struct arch_specific_insn { + int dummy; +}; #define __kprobes notrace #endif /* CONFIG_KPROBES */
-- Masami Hiramatsu
Software Engineer Hitachi Computer Products (America) Inc. Software Solutions Division
e-mail: mhiramat@redhat.com
| |