OSDN Git Service

tracing: Make trace_seq_putmem_hex() more robust
authorSteven Rostedt (Red Hat) <rostedt@goodmis.org>
Sat, 21 Jun 2014 03:31:26 +0000 (23:31 -0400)
committerSteven Rostedt <rostedt@goodmis.org>
Tue, 1 Jul 2014 11:13:37 +0000 (07:13 -0400)
commit6d2289f3faa71dcc5bba15c7aeba4f31c185b6df
tree8425f1195f29a670dcb1ad00e56ee1836514ab02
parent36aabfff50b6a03bcfd2c3cfbd7b83eb0a9ce0c1
tracing: Make trace_seq_putmem_hex() more robust

Currently trace_seq_putmem_hex() can only take as a parameter a pointer
to something that is 8 bytes or less, otherwise it will overflow the
buffer. This is protected by a macro that encompasses the call to
trace_seq_putmem_hex() that has a BUILD_BUG_ON() for the variable before
it is passed in. This is not very robust and if trace_seq_putmem_hex() ever
gets used outside that macro it will cause issues.

Instead of only being able to produce a hex output of memory that is for
a single word, change it to be more robust and allow any size input.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
include/linux/trace_seq.h
kernel/trace/trace_output.h
kernel/trace/trace_seq.c