[GIT PULL] probes: 2nd fix series for v6.5-rc1

From: Google
Date: Fri Jul 14 2023 - 09:54:42 EST


Hi Linus,

Probe fixes for 6.5-rc1, the 2nd set:

- fprobe: Add a comment why fprobe will be skipped if another kprobe is
running in fprobe_kprobe_handler().

- probe-events: Fix some issues related to fetch-argument
. Fix double counting of the string length for user-string and symstr.
This will require longer buffer in the array case.
. Fix not to count error code (minus value) for the total used length
in array argument. This makes the total used length shorter.
. Fix to update dynamic used data size counter only if fetcharg uses
the dynamic size data. This may mis-count the used dynamic data
size and corrupt data.
. Revert "tracing: Add "(fault)" name injection to kernel probes"
because that did not work correctly with a bug, and we agreed the
current '(fault)' output (instead of '"(fault)"' like a string)
explains what happened more clearly.
. Fix to record 0-length (means fault access) data_loc data in fetch
function itself, instead of store_trace_args(). If we record an
array of string, this will fix to save fault access data on each
entry of the array correctly.


Please pull the latest probes-fixes-v6.5-rc1-2 tree, which can be found at:


git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace.git
probes-fixes-v6.5-rc1-2

Tag SHA1: 48d932f93e2c38d39b53a7518c4fa2e221b53a50
Head SHA1: 797311bce5c2ac90b8d65e357603cfd410d36ebb


Masami Hiramatsu (Google) (6):
fprobes: Add a comment why fprobe_kprobe_handler exits if kprobe is running
tracing/probes: Fix to avoid double count of the string length on the array
tracing/probes: Fix not to count error code to total length
tracing/probes: Fix to update dynamic data counter if fetcharg uses it
Revert "tracing: Add "(fault)" name injection to kernel probes"
tracing/probes: Fix to record 0-length data_loc in fetch_store_string*() if fails

----
kernel/trace/fprobe.c | 6 ++++++
kernel/trace/trace.h | 2 ++
kernel/trace/trace_probe.c | 2 +-
kernel/trace/trace_probe_kernel.h | 30 ++++++++----------------------
kernel/trace/trace_probe_tmpl.h | 10 +++++-----
kernel/trace/trace_uprobe.c | 3 ++-
6 files changed, 24 insertions(+), 29 deletions(-)


--
Masami Hiramatsu (Google) <mhiramat@xxxxxxxxxx>