All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@redhat.com>
To: zhe.he@windriver.com
Cc: Andi Kleen <ak@linux.intel.com>,
	jolsa@kernel.org, meyerk@hpe.com, Jiri Olsa <jolsa@redhat.com>,
	linux-kernel@vger.kernel.org, acme@kernel.org
Subject: Re: [PATCH] perf: Fix crash due to null pointer dereference when iterating cpu map
Date: Thu, 5 Mar 2020 16:58:43 -0300	[thread overview]
Message-ID: <20200305195843.GA7262@redhat.com> (raw)
In-Reply-To: <20200305183206.GA1454533@tassilo.jf.intel.com>

Em Thu, Mar 05, 2020 at 10:32:06AM -0800, Andi Kleen escreveu:
> On Thu, Mar 05, 2020 at 12:27:55PM -0300, Arnaldo Carvalho de Melo wrote:
> > Em Thu, Mar 05, 2020 at 06:47:19PM +0800, zhe.he@windriver.com escreveu:
> > > From: He Zhe <zhe.he@windriver.com>
> > > 
> > > NULL pointer may be passed to perf_cpu_map__cpu and then cause the
> > > following crash.
> > > 
> > > perf ftrace -G start_kernel ls
> > > failed to set tracing filters
> > > [  208.710716] perf[341]: segfault at 4 ip 00000000567c7c98
> > >                sp 00000000ff937ae0 error 4 in perf[56630000+1b2000]
> > > [  208.724778] Code: fc ff ff e8 aa 9b 01 00 8d b4 26 00 00 00 00 8d
> > >                      76 00 55 89 e5 83 ec 18 65 8b 0d 14 00 00 00 89
> > >                      4d f4 31 c9 8b 45 08 8b9
> > > Segmentation fault
> > 
> > I'm not being able to repro this here, what is the tree you are using?
> 
> I believe that's the same bug that Jann Horn reported recently for perf trace.
> I thought the patch for that went in.

Ok, Zhe, that patch is at the end of this message, and it is in:

[acme@five perf]$ git tag --contains cb71f7d43ece3d5a4f400f510c61b2ec7c9ce9a1 | grep ^v
v5.6-rc1
v5.6-rc2
v5.6-rc3
v5.6-rc4
[acme@five perf]$

Can you try with that?

- Arnaldo

commit cb71f7d43ece3d5a4f400f510c61b2ec7c9ce9a1
Author: Jiri Olsa <jolsa@kernel.org>
Date:   Fri Jan 10 16:15:37 2020 +0100

    libperf: Setup initial evlist::all_cpus value
    
    Jann Horn reported crash in perf ftrace because evlist::all_cpus isn't
    initialized if there's evlist without events, which is the case for perf
    ftrace.
    
    Adding initial initialization of evlist::all_cpus from given cpus,
    regardless of events in the evlist.
    
    Fixes: 7736627b865d ("perf stat: Use affinity for closing file descriptors")
    Reported-by: Jann Horn <jannh@google.com>
    Signed-off-by: Jiri Olsa <jolsa@kernel.org>
    Acked-by: Andi Kleen <ak@linux.intel.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Michael Petlan <mpetlan@redhat.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lore.kernel.org/lkml/20200110151537.153012-1-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

diff --git a/tools/lib/perf/evlist.c b/tools/lib/perf/evlist.c
index ae9e65aa2491..5b9f2ca50591 100644
--- a/tools/lib/perf/evlist.c
+++ b/tools/lib/perf/evlist.c
@@ -164,6 +164,9 @@ void perf_evlist__set_maps(struct perf_evlist *evlist,
 		evlist->threads = perf_thread_map__get(threads);
 	}
 
+	if (!evlist->all_cpus && cpus)
+		evlist->all_cpus = perf_cpu_map__get(cpus);
+
 	perf_evlist__propagate_maps(evlist);
 }
 


  reply	other threads:[~2020-03-05 19:58 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-05 10:47 [PATCH] perf: Fix crash due to null pointer dereference when iterating cpu map zhe.he
2020-03-05 15:27 ` Arnaldo Carvalho de Melo
2020-03-05 18:32   ` Andi Kleen
2020-03-05 19:58     ` Arnaldo Carvalho de Melo [this message]
2020-03-06  7:20       ` He Zhe
2020-03-06  8:30         ` Jiri Olsa
2020-03-08 10:23           ` He Zhe

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200305195843.GA7262@redhat.com \
    --to=acme@redhat.com \
    --cc=acme@kernel.org \
    --cc=ak@linux.intel.com \
    --cc=jolsa@kernel.org \
    --cc=jolsa@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=meyerk@hpe.com \
    --cc=zhe.he@windriver.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.