Re: [PATCH -tip v9 20/26] kprobes: Support blacklist functions in module

Masami Hiramatsu
2014-04-25T10:56:05Z

(2014/04/25 19:12), Masami Hiramatsu wrote:
> (2014/04/25 17:19), Ingo Molnar wrote:
>>
>> * Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com> wrote:
>>
>>> (2014/04/24 17:56), Ingo Molnar wrote:
>>>>> diff --git a/include/linux/module.h b/include/linux/module.h
>>>>> index f520a76..2fdb673 100644
>>>>> --- a/include/linux/module.h
>>>>> +++ b/include/linux/module.h
>>>>> @@ -16,6 +16,7 @@
>>>>> #include <linux/kobject.h>
>>>>> #include <linux/moduleparam.h>
>>>>> #include <linux/jump_label.h>
>>>>> +#include <linux/kprobes.h>
>>>>
>>>> This include breaks the x86 build:
>>>>
>>>> CC arch/x86/kernel/jump_label.o
>>>> In file included from arch/x86/kernel/jump_label.c:14:0:
>>>> /fast/mingo/tip/arch/x86/include/asm/kprobes.h:35:12: error: conflicting types for ‘kprobe_opcode_t' typedef u8 kprobe_opcode_t;
>>>> [...]
>>>
>>> Hmm, this error seems very odd... and I don't see
>>
>> Needs 'make allnoconfig' or some similar .config combination.
>
> Ah, OK. I could reproduce it. And as far as I can see, this is jump_label's bug.
> jump_label.c includes asm/kprobes.h directly, but that header is for internal use.
> It has to include linux/kprobes.h instead. Moreover, it doesn't need kprobes.h anymore.

Oops, arch/x86/kernel/ftrace.c also has same problem. At this point, I'll just
remove unneeded #include from module.h, which can avoid both.

Thank you,

--
Masami HIRAMATSU
IT Management Research Dept. Linux Technology Center
Hitachi, Ltd., Yokohama Research Laboratory
E-mail: masami.hiramatsu.pt@hitachi.com