Messages in this thread | | | From | Masami Hiramatsu <> | Subject | [RFC PATCH v2 0/3] tracing: Show real address instead of hashed pointer | Date | Thu, 15 Oct 2020 17:59:59 +0900 |
| |
Hi,
Here is the 2nd series of the real address printing in trace log. Here is the 1st version, I've changed the implementation according to Steve's comment.
https://lore.kernel.org/lkml/160266594977.74973.9883936722540767319.stgit@devnote2/
This version has 3 patches, replacing %p to %px online, update trace_event.h description and add an option to switch hashed ptr and real value on trace log. Those are all new patches.
Since trace_seq_printf() use in-kernel vsprintf() at last, the %p is always converted to the hash value instead of real address.
For the dmesg it maybe secure, but for the ftrace, I think it is meaningless because
- tracefs is used by root user, so no need to hide it. - tracefs user can access percpu/cpu*/trace_pipe_raw which stores real address on the trace buffer. - external commands like perf doesn't convert to the hash value.
And when debugging kernel, we would like to know real address which tells us the address is in which area in the kernel by comparing with kernel memory mapping. However, to compare the trace log with dmesg, we also need a bridging information. So 3/3 gives the options/hash-ptr knob which switches the output format.
Thank you,
---
Masami Hiramatsu (3): tracing: Show real address for trace event arguments tracing: Update the stage 3 of trace event macro comment tracing: Add ptr-hash option to show the hashed pointer value
Documentation/trace/ftrace.rst | 6 ++++ include/linux/trace_events.h | 3 ++ include/trace/trace_events.h | 31 ++++++++++++++------- kernel/trace/trace.c | 60 +++++++++++++++++++++++++++++++++++++++- kernel/trace/trace.h | 3 ++ kernel/trace/trace_output.c | 12 +++++++- 6 files changed, 103 insertions(+), 12 deletions(-)
-- Masami Hiramatsu (Linaro) <mhiramat@kernel.org>
| |