Subject: [PATCH AUTOSEL 5.2 126/171] perf trace: Fix potential NULL pointer dereference found by the smatch tool

From: Sasha Levin <[email-masked]>
Date: Thu, 18 Jul 2019 23:55:57 -0400

From: Leo Yan <[email-masked]>

[ Upstream commit 7a6d49dc8cad8fa1f3d63994102af8f9ae9c859f ]

Based on the following report from Smatch, fix the potential NULL
pointer dereference check.

  tools/perf/builtin-trace.c:1044
  thread_trace__new() error: we previously assumed 'ttrace' could be
  null (see line 1041).

  tools/perf/builtin-trace.c
  1037 static struct thread_trace *thread_trace__new(void)
  1038 {
  1039         struct thread_trace *ttrace =  zalloc(sizeof(struct thread_trace));
  1040
  1041         if (ttrace)
  1042                 ttrace->files.max = -1;
  1043
  1044         ttrace->syscall_stats = intlist__new(NULL);
               ^^^^^^^^
  1045
  1046         return ttrace;
  1047 }

Signed-off-by: Leo Yan <[email-masked]>
Acked-by: Jiri Olsa <[email-masked]>
Cc: Adrian Hunter <[email-masked]>
Cc: Alexander Shishkin <[email-masked]>
Cc: Alexey Budankov <[email-masked]>
Cc: Alexios Zavras <[email-masked]>
Cc: Andi Kleen <[email-masked]>
Cc: Changbin Du <[email-masked]>
Cc: David S. Miller <[email-masked]>
Cc: Davidlohr Bueso <[email-masked]>
Cc: Eric Saint-Etienne <[email-masked]>
Cc: Jin Yao <[email-masked]>
Cc: Konstantin Khlebnikov <[email-masked]>
Cc: Mathieu Poirier <[email-masked]>
Cc: Namhyung Kim <[email-masked]>
Cc: Peter Zijlstra <[email-masked]>
Cc: Rasmus Villemoes <[email-masked]>
Cc: Song Liu <[email-masked]>
Cc: Suzuki Poulouse <[email-masked]>
Cc: Thomas Gleixner <[email-masked]>
Cc: Thomas Richter <[email-masked]>
Cc: [email-masked]
Link: http://lkml.kernel.org/r/[email-masked]
[ Just made it look like other tools/perf constructors, same end result ]
Signed-off-by: Arnaldo Carvalho de Melo <[email-masked]>
Signed-off-by: Sasha Levin <[email-masked]>
---
 tools/perf/builtin-trace.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/tools/perf/builtin-trace.c b/tools/perf/builtin-trace.c
index 52fadc858ef0..909e68545bb8 100644
--- a/tools/perf/builtin-trace.c
+++ b/tools/perf/builtin-trace.c
@@ -997,10 +997,10 @@ static struct thread_trace *thread_trace__new(void)
 {
 	struct thread_trace *ttrace =  zalloc(sizeof(struct thread_trace));
 
-	if (ttrace)
+	if (ttrace) {
 		ttrace->files.max = -1;
-
-	ttrace->syscall_stats = intlist__new(NULL);
+		ttrace->syscall_stats = intlist__new(NULL);
+	}
 
 	return ttrace;
 }
-- 
2.20.1

_______________________________________________
linux-arm-kernel mailing list
[email-masked]
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel