aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/gcc-plugins/sancov_plugin.c
diff options
context:
space:
mode:
authorChangbin Du <[email protected]>2018-01-16 09:02:28 +0000
committerSteven Rostedt (VMware) <[email protected]>2018-01-23 20:57:27 +0000
commit921a7acd85ebbab1b3cd99828e6842fd3e78df24 (patch)
tree3fa8375014270e69a605f50b86e5c9b4d07620bd /scripts/gcc-plugins/sancov_plugin.c
parenttracing: Update stack trace skipping for ORC unwinder (diff)
downloadkernel-921a7acd85ebbab1b3cd99828e6842fd3e78df24.tar.gz
kernel-921a7acd85ebbab1b3cd99828e6842fd3e78df24.zip
tracing: Detect the string nul character when parsing user input string
User space can pass in a C nul character '\0' along with its input. The function trace_get_user() will try to process it as a normal character, and that will fail to parse. open("/sys/kernel/debug/tracing//set_ftrace_pid", O_WRONLY|O_TRUNC) = 3 write(3, " \0", 2) = -1 EINVAL (Invalid argument) while parse can handle spaces, so below works. $ echo "" > set_ftrace_pid $ echo " " > set_ftrace_pid $ echo -n " " > set_ftrace_pid Have the parser stop on '\0' and cease any further parsing. Only process the characters up to the nul '\0' character and do not process it. Link: http://lkml.kernel.org/r/[email protected] Acked-by: Namhyung Kim <[email protected]> Signed-off-by: Changbin Du <[email protected]> Signed-off-by: Steven Rostedt (VMware) <[email protected]>
Diffstat (limited to 'scripts/gcc-plugins/sancov_plugin.c')
0 files changed, 0 insertions, 0 deletions