FAILED: patch "[PATCH] tracing: Check keys for variable references in expressions" failed to apply to 5.0-stable tree
Subsystems (2)
[email protected]
maintainerThe patch below does not apply to the 5.0-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 c8d94a1878342fdffedaaf15201d951dfc147065 Mon Sep 17 00:00:00 2001
From: Tom Zanussi <[email protected]>
Date: Thu, 18 Apr 2019 10:18:51 -0500
Subject: [PATCH] tracing: Check keys for variable references in expressions
too
There's an existing check for variable references in keys, but it doesn't go far enough. It checks whether a key field is a variable reference but doesn't check whether it's an expression containing variable references, which can cause the same problems for callers.
Use the existing field_has_hist_vars() function rather than a direct top-level flag check to catch all possible variable references.
kernel/trace/trace_events_hist.c +2 -2
@@ -59,7 +59,7 @@C (NO_CLOSING_PAREN ,"No closing paren found" ), \C (SUBSYS_NOT_FOUND ,"Missing subsystem" ), \C (INVALID_SUBSYS_EVENT ,"Invalid subsystem or event name" ), \ -C (INVALID_REF_KEY ,"Using variable references as keys not supported" ), \ +C (INVALID_REF_KEY ,"Using variable references in keys not supported" ), \C (VAR_NOT_FOUND ,"Couldn't find variable" ), \ C(FIELD_NOT_FOUND, "Couldn't find field"),
@@ -4506,7 +4506,7 @@ static int create_key_field(struct hist_trigger_data *hist_data, goto out; } -if (hist_field->flags &HIST_FIELD_FL_VAR_REF ) { +if (field_has_hist_vars (hist_field,0 )) {hist_err (tr,HIST_ERR_INVALID_REF_KEY ,errpos (field_str));destroy_hist_field (hist_field,0 ); ret = -EINVAL ;