Merge branch 'for-linus-4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/mason...
[sfrench/cifs-2.6.git] / include / asm-generic / kprobes.h
1 #ifndef _ASM_GENERIC_KPROBES_H
2 #define _ASM_GENERIC_KPROBES_H
3
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__) */
24
25 #endif /* _ASM_GENERIC_KPROBES_H */