[PATCH 00/12] trace: add the ability to parse sizeof()
From: Jeremy Linton
Date: Wed May 31 2017 - 17:58:39 EST
There are a few cases of sizeof() embedded in TRACE_EVENT()
macros. That is a problem because the sizeof(structure) gets
passed to userspace which doesn't know how to decode the
size of kernel data structures. This is a similar problem
to enums which were being passed in their symbolic form to
userspace.
Rather than recreating much of that infrastructure lets
simply extend it, and append additional symbols into the
enum_map that can translate string sizeof() calls into
values. Of course that means that much of the infrastructure
is now poorly named so we go through and replace instances
describing "enum" with "eval" to indicate a generic C
expression to numerical evaluation routine.
Jeremy Linton (12):
trace: rename kernel enum section to eval
trace: rename trace_enum_map to trace_eval_map
trace: rename struct module entry for trace enums
trace: rename trace enum data structures in trace.c
trace: rename trace_enum_mutex to trace_eval_mutex
trace: rename trace.c enum functions
trace: rename enum_map functions
tracing: Rename enum_replace to eval_replace
tracing: define TRACE_DEFINE_SIZEOF() macro to map sizeof's to their
values
tracing: Update sample file to describe the new macro
tracing: Add TRACE_DEFINE_SIZEOF() macros
tracing: Rename update the enum_map file
arch/arm64/kvm/trace.h | 2 +
include/asm-generic/vmlinux.lds.h | 6 +-
include/linux/module.h | 4 +-
include/linux/tracepoint.h | 7 +-
include/trace/events/xen.h | 13 +-
include/trace/trace_events.h | 26 +++-
kernel/module.c | 6 +-
kernel/trace/Kconfig | 22 ++--
kernel/trace/trace.c | 194 ++++++++++++++---------------
kernel/trace/trace.h | 4 +-
kernel/trace/trace_events.c | 24 ++--
samples/trace_events/trace-events-sample.h | 7 ++
12 files changed, 175 insertions(+), 140 deletions(-)
--
2.9.4