diff options
Diffstat (limited to 'queue-5.15/revert-tracing-trigger-fix-to-return-error-if-failed-to-alloc-snapshot.patch')
-rw-r--r-- | queue-5.15/revert-tracing-trigger-fix-to-return-error-if-failed-to-alloc-snapshot.patch | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/queue-5.15/revert-tracing-trigger-fix-to-return-error-if-failed-to-alloc-snapshot.patch b/queue-5.15/revert-tracing-trigger-fix-to-return-error-if-failed-to-alloc-snapshot.patch new file mode 100644 index 0000000000..69404635ef --- /dev/null +++ b/queue-5.15/revert-tracing-trigger-fix-to-return-error-if-failed-to-alloc-snapshot.patch @@ -0,0 +1,52 @@ +From siddh.raman.pant@oracle.com Fri Apr 19 13:11:23 2024 +From: Siddh Raman Pant <siddh.raman.pant@oracle.com> +Date: Thu, 18 Apr 2024 18:58:06 +0530 +Subject: Revert "tracing/trigger: Fix to return error if failed to alloc snapshot" +To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Steven Rostedt <rostedt@goodmis.org>, Ingo Molnar <mingo@redhat.com> +Cc: linux-trace-kernel <linux-trace-kernel@vger.kernel.org>, linux-kernel <linux-kernel@vger.kernel.org>, stable@kernel.org +Message-ID: <20240418132806.159307-1-siddh.raman.pant@oracle.com> + +From: Siddh Raman Pant <siddh.raman.pant@oracle.com> + +This reverts commit b5085b5ac1d96ea2a8a6240f869655176ce44197. + +The change has an incorrect assumption about the return value because +in the current stable trees for versions 5.15 and before, the following +commit responsible for making 0 a success value is not present: +b8cc44a4d3c1 ("tracing: Remove logic for registering multiple event triggers at a time") + +The return value should be 0 on failure in the current tree, because in +the functions event_trigger_callback() and event_enable_trigger_func(), +we have: + + ret = cmd_ops->reg(glob, trigger_ops, trigger_data, file); + /* + * The above returns on success the # of functions enabled, + * but if it didn't find any functions it returns zero. + * Consider no functions a failure too. + */ + if (!ret) { + ret = -ENOENT; + +Cc: stable@kernel.org # 5.15, 5.10, 5.4, 4.19 +Signed-off-by: Siddh Raman Pant <siddh.raman.pant@oracle.com> +Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> +--- + kernel/trace/trace_events_trigger.c | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + +--- a/kernel/trace/trace_events_trigger.c ++++ b/kernel/trace/trace_events_trigger.c +@@ -1161,10 +1161,8 @@ register_snapshot_trigger(char *glob, st + struct event_trigger_data *data, + struct trace_event_file *file) + { +- int ret = tracing_alloc_snapshot_instance(file->tr); +- +- if (ret < 0) +- return ret; ++ if (tracing_alloc_snapshot_instance(file->tr) != 0) ++ return 0; + + return register_trigger(glob, ops, data, file); + } |