27 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2#ifndef _ASM_GENERIC_KPROBES_H3#define _ASM_GENERIC_KPROBES_H4 5#if defined(__KERNEL__) && !defined(__ASSEMBLY__)6#ifdef CONFIG_KPROBES7/*8 * Blacklist ganerating macro. Specify functions which is not probed9 * by using this macro.10 */11# define __NOKPROBE_SYMBOL(fname) \12static unsigned long __used \13 __section("_kprobe_blacklist") \14 _kbl_addr_##fname = (unsigned long)fname;15# define NOKPROBE_SYMBOL(fname) __NOKPROBE_SYMBOL(fname)16/* Use this to forbid a kprobes attach on very low level functions */17# define __kprobes __section(".kprobes.text")18# define nokprobe_inline __always_inline19#else20# define NOKPROBE_SYMBOL(fname)21# define __kprobes22# define nokprobe_inline inline23#endif24#endif /* defined(__KERNEL__) && !defined(__ASSEMBLY__) */25 26#endif /* _ASM_GENERIC_KPROBES_H */27