Skip to content

Commit

Permalink
tracing/probes: Fix to avoid double count of the string length on the…
Browse files Browse the repository at this point in the history
… array

If an array is specified with the ustring or symstr, the length of the
strings are accumlated on both of 'ret' and 'total', which means the
length is double counted.
Just set the length to the 'ret' value for avoiding double counting.

Link: https://lore.kernel.org/all/168908492917.123124.15076463491122036025.stgit@devnote2/

Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Closes: https://lore.kernel.org/all/8819b154-2ba1-43c3-98a2-cbde20892023@moroto.mountain/
Fixes: 88903c4 ("tracing/probe: Add ustring type for user-space string")
Cc: stable@vger.kernel.org
Signed-off-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Reviewed-by: Steven Rostedt (Google) <rostedt@goodmis.org>
  • Loading branch information
Masami Hiramatsu (Google) committed Jul 13, 2023
1 parent d5f28bb commit 66bcf65
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions kernel/trace/trace_probe_tmpl.h
Original file line number Diff line number Diff line change
Expand Up @@ -156,11 +156,11 @@ process_fetch_insn_bottom(struct fetch_insn *code, unsigned long val,
code++;
goto array;
case FETCH_OP_ST_USTRING:
ret += fetch_store_strlen_user(val + code->offset);
ret = fetch_store_strlen_user(val + code->offset);
code++;
goto array;
case FETCH_OP_ST_SYMSTR:
ret += fetch_store_symstrlen(val + code->offset);
ret = fetch_store_symstrlen(val + code->offset);
code++;
goto array;
default:
Expand Down

0 comments on commit 66bcf65

Please sign in to comment.