FAILED: patch "[PATCH] tracing/probes: Have kprobes and uprobes use $COMM too" failed to apply to 5.10-stable tree
Subsystems (2)
[email protected]
maintainerThe patch below does not apply to the 5.10-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From ab8384442ee512fc0fc72deeb036110843d0e7ff Mon Sep 17 00:00:00 2001
From: "Steven Rostedt (Google)" <[email protected]>
Date: Sat, 20 Aug 2022 09:43:21 -0400
Subject: [PATCH] tracing/probes: Have kprobes and uprobes use $COMM too
Both $comm and $COMM can be used to get current->comm in eprobes and the filtering and histogram logic. Make kprobes and uprobes consistent in this regard and allow both $comm and $COMM as well. Currently kprobes and uprobes only handle $comm, which is inconsistent with the other utilities, and can be confusing to users.
kernel/trace/trace_probe.c +3 -2
@@ -314,7 +314,7 @@ static int parse_probe_vars(char *arg, const struct fetch_type *t, } }else goto inval_var; - }else if (strcmp (arg,"comm" ) ==0 ) { + }else if (strcmp (arg,"comm" ) ==0 ||strcmp (arg,"COMM" ) ==0 ) { code->op =FETCH_OP_COMM ; #ifdef CONFIG_HAVE_FUNCTION_ARG_ACCESS_API } else if (((flags & TPARG_FL_MASK) ==
@@ -625,7 +625,8 @@ static int traceprobe_parse_probe_arg_body(const char *argv, ssize_t *size,* we can find those by strcmp. But ignore for eprobes. */ if (!(flags &TPARG_FL_TPOINT ) && - (strcmp (arg,"$comm" ) ==0 ||strncmp (arg,"\\\"" ,2 ) ==0 )) { + (strcmp (arg,"$comm" ) ==0 ||strcmp (arg,"$COMM" ) ==0 || +strncmp (arg,"\\\"" ,2 ) ==0 )) {/* The type of $comm must be "string", and not an array. */ if (parg->count || (t &&strcmp (t,"string" ))) goto out;
Below is the backport to 5.10 and 5.4.
-- Steve
------------------ original commit in Linus's tree ------------------
Quoted 1 line
From
ab8384442ee512fc0fc72deeb036110843d0e7ffMon Sep 17 00:00:00 2001
From: "Steven Rostedt (Google)" <[email protected]>
Date: Sat, 20 Aug 2022 09:43:21 -0400
Subject: [PATCH] tracing/probes: Have kprobes and uprobes use $COMM too
Both $comm and $COMM can be used to get current->comm in eprobes and the filtering and histogram logic. Make kprobes and uprobes consistent in this regard and allow both $comm and $COMM as well. Currently kprobes and uprobes only handle $comm, which is inconsistent with the other utilities, and can be confusing to users.
--- kernel/trace/trace_probe.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
kernel/trace/trace_probe.c +3 -2
@@ -300,7 +300,7 @@ static int parse_probe_vars(char *arg, c } }else goto inval_var; - }else if (strcmp (arg,"comm" ) ==0 ) { + }else if (strcmp (arg,"comm" ) ==0 ||strcmp (arg,"COMM" ) ==0 ) { code->op =FETCH_OP_COMM ; #ifdef CONFIG_HAVE_FUNCTION_ARG_ACCESS_API } else if (((flags & TPARG_FL_MASK) ==
@@ -595,7 +595,8 @@ static int traceprobe_parse_probe_arg_bo* Since $comm and immediate string can not be dereferred, * we can find those by strcmp. */ -if (strcmp (arg,"$comm" ) ==0 ||strncmp (arg,"\\\"" ,2 ) ==0 ) { +if (strcmp (arg,"$comm" ) ==0 ||strcmp (arg,"$COMM" ) ==0 || +strncmp (arg,"\\\"" ,2 ) ==0 ) {/* The type of $comm must be "string", and not an array. */ if (parg->count || (t &&strcmp (t,"string" )))return -EINVAL ;