linux/Documentation
Masami Hiramatsu 376e242429 kprobes: Introduce NOKPROBE_SYMBOL() macro to maintain kprobes blacklist
Introduce NOKPROBE_SYMBOL() macro which builds a kprobes
blacklist at kernel build time.

The usage of this macro is similar to EXPORT_SYMBOL(),
placed after the function definition:

  NOKPROBE_SYMBOL(function);

Since this macro will inhibit inlining of static/inline
functions, this patch also introduces a nokprobe_inline macro
for static/inline functions. In this case, we must use
NOKPROBE_SYMBOL() for the inline function caller.

When CONFIG_KPROBES=y, the macro stores the given function
address in the "_kprobe_blacklist" section.

Since the data structures are not fully initialized by the
macro (because there is no "size" information),  those
are re-initialized at boot time by using kallsyms.

Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Link: http://lkml.kernel.org/r/20140417081705.26341.96719.stgit@ltc230.yrl.intra.hitachi.co.jp
Cc: Alok Kataria <akataria@vmware.com>
Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Christopher Li <sparse@chrisli.org>
Cc: Chris Wright <chrisw@sous-sol.org>
Cc: David S. Miller <davem@davemloft.net>
Cc: Jan-Simon Möller <dl9pf@gmx.de>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Cc: linux-arch@vger.kernel.org
Cc: linux-doc@vger.kernel.org
Cc: linux-sparse@vger.kernel.org
Cc: virtualization@lists.linux-foundation.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2014-04-24 10:02:56 +02:00
..
2014-04-07 16:36:02 -07:00
2014-03-27 16:56:23 -04:00
2014-03-11 06:55:49 -03:00
2014-02-10 16:01:40 -08:00
2014-02-28 15:12:08 -08:00
2013-04-02 09:39:55 -07:00
2014-02-10 16:01:40 -08:00
2014-03-21 13:16:58 +01:00
2013-11-27 11:03:38 -08:00
2014-03-21 13:16:58 +01:00
2013-10-16 13:35:02 -07:00
2014-03-21 13:16:58 +01:00
2014-02-18 08:09:40 -08:00
2014-04-18 16:59:52 -07:00
2013-11-14 11:04:40 -08:00
2014-02-07 08:03:07 -02:00
2013-12-02 14:48:28 +01:00
2014-03-21 13:16:58 +01:00
2013-12-02 14:48:28 +01:00
2013-12-02 14:48:28 +01:00
2014-03-21 13:16:58 +01:00
2013-12-02 14:45:19 +01:00
2013-10-24 10:51:33 +02:00
2013-09-05 16:36:21 -06:00