tracing: Fix missing trace_boot_init_histograms kstrdup NULL checks
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Fri, 15 Oct 2021 19:55:50 +0000 (15:55 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 18 Nov 2021 18:16:41 +0000 (19:16 +0100)
[ Upstream commit 3c20bd3af535d64771b193bb4dd41ed662c464ce ]

trace_boot_init_histograms misses NULL pointer checks for kstrdup
failure.

Link: https://lkml.kernel.org/r/20211015195550.22742-1-mathieu.desnoyers@efficios.com
Fixes: 64dc7f6958ef5 ("tracing/boot: Show correct histogram error command")
Acked-by: Masami Hiramatsu <mhiramat@kernel.org>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
kernel/trace/trace_boot.c

index 8d252f6..0580287 100644 (file)
@@ -430,6 +430,8 @@ trace_boot_init_histograms(struct trace_event_file *file,
                /* All digit started node should be instances. */
                if (trace_boot_compose_hist_cmd(node, buf, size) == 0) {
                        tmp = kstrdup(buf, GFP_KERNEL);
+                       if (!tmp)
+                               return;
                        if (trigger_process_regex(file, buf) < 0)
                                pr_err("Failed to apply hist trigger: %s\n", tmp);
                        kfree(tmp);
@@ -439,6 +441,8 @@ trace_boot_init_histograms(struct trace_event_file *file,
        if (xbc_node_find_subkey(hnode, "keys")) {
                if (trace_boot_compose_hist_cmd(hnode, buf, size) == 0) {
                        tmp = kstrdup(buf, GFP_KERNEL);
+                       if (!tmp)
+                               return;
                        if (trigger_process_regex(file, buf) < 0)
                                pr_err("Failed to apply hist trigger: %s\n", tmp);
                        kfree(tmp);