• Adrian Hunter's avatar
    kprobes: Add symbols for kprobe insn pages · d002b8bc
    Adrian Hunter authored
    Symbols are needed for tools to describe instruction addresses. Pages
    allocated for kprobe's purposes need symbols to be created for them.
    Add such symbols to be visible via /proc/kallsyms.
    
    Note: kprobe insn pages are not used if ftrace is configured. To see the
    effect of this patch, the kernel must be configured with:
    
    	# CONFIG_FUNCTION_TRACER is not set
    	CONFIG_KPROBES=y
    
    and for optimised kprobes:
    
    	CONFIG_OPTPROBES=y
    
    Example on x86:
    
    	# perf probe __schedule
    	Added new event:
    	  probe:__schedule     (on __schedule)
    	# cat /proc/kallsyms | grep '\[__builtin__kprobes\]'
    	ffffffffc00d4000 t kprobe_insn_page     [__builtin__kprobes]
    	ffffffffc00d6000 t kprobe_optinsn_page  [__builtin__kprobes]
    
    Note: This patch adds "__builtin__kprobes" as a module name in
    /proc/kallsyms for symbols for pages allocated for kprobes' purposes, even
    though "__builtin__kprobes" is not a module.
    Signed-off-by: default avatarAdrian Hunter <adrian.hunter@intel.com>
    Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
    Acked-by: default avatarMasami Hiramatsu <mhiramat@kernel.org>
    Link: https://lkml.kernel.org/r/20200528080058.20230-1-adrian.hunter@intel.com
    d002b8bc
kprobes.c 66.3 KB