tracing/probes: Fix to update dynamic data counter if fetcharg uses it
authorMasami Hiramatsu (Google) <mhiramat@kernel.org>
Tue, 11 Jul 2023 14:15:48 +0000 (23:15 +0900)
committerMasami Hiramatsu (Google) <mhiramat@kernel.org>
Thu, 13 Jul 2023 15:37:00 +0000 (00:37 +0900)
commite38e2c6a9efc435f9de344b7c91f7697e01b47d5
treeda49c4b1e13b3595ea0e5d8acc3efda861d9265c
parentb41326b5e0f82e93592c4366359917b5d67b529f
tracing/probes: Fix to update dynamic data counter if fetcharg uses it

Fix to update dynamic data counter ('dyndata') and max length ('maxlen')
only if the fetcharg uses the dynamic data. Also get out arg->dynamic
from unlikely(). This makes dynamic data address wrong if
process_fetch_insn() returns error on !arg->dynamic case.

Link: https://lore.kernel.org/all/168908494781.123124.8160245359962103684.stgit@devnote2/
Suggested-by: Steven Rostedt <rostedt@goodmis.org>
Link: https://lore.kernel.org/all/20230710233400.5aaf024e@gandalf.local.home/
Fixes: 9178412ddf5a ("tracing: probeevent: Return consumed bytes of dynamic area")
Cc: stable@vger.kernel.org
Signed-off-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Reviewed-by: Steven Rostedt (Google) <rostedt@goodmis.org>
kernel/trace/trace_probe_tmpl.h