Merge tag 'chrome-platform-for-linus-4.13' of git://git.kernel.org/pub/scm/linux...
[linux/fpc-iii.git] / include / asm-generic / kprobes.h
blob57af9f21d148e5f89118e6e337524d181f415aaa
1 #ifndef _ASM_GENERIC_KPROBES_H
2 #define _ASM_GENERIC_KPROBES_H
4 #if defined(__KERNEL__) && !defined(__ASSEMBLY__)
5 #ifdef CONFIG_KPROBES
6 /*
7 * Blacklist ganerating macro. Specify functions which is not probed
8 * by using this macro.
9 */
10 # define __NOKPROBE_SYMBOL(fname) \
11 static unsigned long __used \
12 __attribute__((__section__("_kprobe_blacklist"))) \
13 _kbl_addr_##fname = (unsigned long)fname;
14 # define NOKPROBE_SYMBOL(fname) __NOKPROBE_SYMBOL(fname)
15 /* Use this to forbid a kprobes attach on very low level functions */
16 # define __kprobes __attribute__((__section__(".kprobes.text")))
17 # define nokprobe_inline __always_inline
18 #else
19 # define NOKPROBE_SYMBOL(fname)
20 # define __kprobes
21 # define nokprobe_inline inline
22 #endif
23 #endif /* defined(__KERNEL__) && !defined(__ASSEMBLY__) */
25 #endif /* _ASM_GENERIC_KPROBES_H */