Re: [PATCH -tip ] kprobes: Move __kprobes definition into compiler.h

From: Masami Hiramatsu
Date: Thu Apr 04 2013 - 07:18:28 EST


Hi Ingo,

(2013/04/04 19:40), Masami Hiramatsu wrote:
> Currently, __kprobes is defined in linux/kprobes.h which
> is too big to be included in small or basic headers
> only for using this attribute.
>
> This moves __kprobes definition into linux/compiler.h
> in which other compiler attributes are defined.

This is only moving __kprobes definition into compiler.h.
I think it will be needed for replacing __kprobes with noprobe.

And until now, I still could not reproduce the Timo's reported
issues. It seems those were happened on probing inline functions.
Thus, I think we'd better use __always_inline instead of
adding __kprobes (because those are not related to kprobes).
If those issues still be reproduced, we'd better put noprobe
on those functions.

By the way, those issues happened on native_* static inline functions
which are also pointed by pv_*_ops as function pointer. For example,
native_safe_halt is defined as an inline function in asm/irqflags.h,
however it is directly pointed by pv_irq_ops in arch/x86/kernel/paravirt.c.
In this case __always_inline may cause a problem.

For these cases, I'd like to suggest to define those functions
which requires actual instance (because its address is used)
in paravirt.c and rename original one to __native_*. And rename
direct call of such native_* to __native_*.

Thank you,

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


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/