ftrace: Add MODIFIED flag to show if IPMODIFY or direct was attached
If a function had ever had IPMODIFY or DIRECT attached to it, where this is how live kernel patching and BPF overrides work, mark them and display an "M" in the enabled_functions and touched_functions files. This can be used for debugging. If a function had been modified and later there's a bug in the code related to that function, this can be used to know if the cause is possibly from a live kernel patch or a BPF program that changed the behavior of the code. Also update the documentation on the enabled_functions and touched_functions output, as it was missing direct callers and CALL_OPS. And include this new modify attribute. Link: https://lore.kernel.org/linux-trace-kernel/20230502213233.004e3ae4@gandalf.local.home Cc: Mark Rutland <mark.rutland@arm.com> Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org> Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
This commit is contained in:
parent
4f94559f40
commit
6ce2c04fcb
3 changed files with 37 additions and 4 deletions
|
|
@ -549,6 +549,7 @@ bool is_ftrace_trampoline(unsigned long addr);
|
|||
* CALL_OPS - the record can use callsite-specific ops
|
||||
* CALL_OPS_EN - the function is set up to use callsite-specific ops
|
||||
* TOUCHED - A callback was added since boot up
|
||||
* MODIFIED - The function had IPMODIFY or DIRECT attached to it
|
||||
*
|
||||
* When a new ftrace_ops is registered and wants a function to save
|
||||
* pt_regs, the rec->flags REGS is set. When the function has been
|
||||
|
|
@ -569,9 +570,10 @@ enum {
|
|||
FTRACE_FL_CALL_OPS = (1UL << 22),
|
||||
FTRACE_FL_CALL_OPS_EN = (1UL << 21),
|
||||
FTRACE_FL_TOUCHED = (1UL << 20),
|
||||
FTRACE_FL_MODIFIED = (1UL << 19),
|
||||
};
|
||||
|
||||
#define FTRACE_REF_MAX_SHIFT 20
|
||||
#define FTRACE_REF_MAX_SHIFT 19
|
||||
#define FTRACE_REF_MAX ((1UL << FTRACE_REF_MAX_SHIFT) - 1)
|
||||
|
||||
#define ftrace_rec_count(rec) ((rec)->flags & FTRACE_REF_MAX)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue