linux-perf-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Ingo Molnar <mingo@kernel.org>, Thomas Gleixner <tglx@linutronix.de>
Cc: Jiri Olsa <jolsa@kernel.org>, Namhyung Kim <namhyung@kernel.org>,
	Clark Williams <williams@redhat.com>,
	linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org,
	Ravi Bangoria <ravi.bangoria@linux.ibm.com>,
	Kim Phillips <kim.phillips@amd.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Michael Petlan <mpetlan@redhat.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Arnaldo Carvalho de Melo <acme@redhat.com>
Subject: [PATCH 07/23] perf maps: Fix map__clone() for struct kmap
Date: Fri, 14 Feb 2020 16:10:41 -0300	[thread overview]
Message-ID: <20200214191057.26266-8-acme@kernel.org> (raw)
In-Reply-To: <20200214191057.26266-1-acme@kernel.org>

From: Jiri Olsa <jolsa@kernel.org>

The map__clone() function can be called on kernel maps as well, so it
needs to duplicate the whole kmap data.

Reported-by: Ravi Bangoria <ravi.bangoria@linux.ibm.com>
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Tested-by: Ravi Bangoria <ravi.bangoria@linux.ibm.com>
Tested-by: Kim Phillips <kim.phillips@amd.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/20200210143218.24948-4-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/util/map.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/tools/perf/util/map.c b/tools/perf/util/map.c
index f67960bedebb..cea05fc9595c 100644
--- a/tools/perf/util/map.c
+++ b/tools/perf/util/map.c
@@ -375,8 +375,13 @@ struct symbol *map__find_symbol_by_name(struct map *map, const char *name)
 
 struct map *map__clone(struct map *from)
 {
-	struct map *map = memdup(from, sizeof(*map));
+	size_t size = sizeof(struct map);
+	struct map *map;
+
+	if (from->dso && from->dso->kernel)
+		size += sizeof(struct kmap);
 
+	map = memdup(from, size);
 	if (map != NULL) {
 		refcount_set(&map->refcnt, 1);
 		RB_CLEAR_NODE(&map->rb_node);
-- 
2.21.1

  parent reply	other threads:[~2020-02-14 19:10 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-14 19:10 [GIT PULL] perf/urgent improvements and fixes Arnaldo Carvalho de Melo
2020-02-14 19:10 ` [PATCH 01/23] perf stat: Don't report a null stalled cycles per insn metric Arnaldo Carvalho de Melo
2020-02-14 19:10 ` [PATCH 02/23] perf symbols: Update the list of kernel idle symbols Arnaldo Carvalho de Melo
2020-02-14 19:10 ` [PATCH 03/23] perf symbols: Convert symbol__is_idle() to use strlist Arnaldo Carvalho de Melo
2020-02-14 19:10 ` [PATCH 04/23] tools include UAPI: Sync x86's syscalls_64.tbl, generic unistd.h and fcntl.h to pick up openat2 and pidfd_getfd Arnaldo Carvalho de Melo
2020-02-14 19:10 ` [PATCH 05/23] perf maps: Mark module DSOs with kernel type Arnaldo Carvalho de Melo
2020-02-14 19:10 ` [PATCH 06/23] perf maps: Mark ksymbol " Arnaldo Carvalho de Melo
2020-02-14 19:10 ` Arnaldo Carvalho de Melo [this message]
2020-02-14 19:10 ` [PATCH 08/23] perf maps: Move kmap::kmaps setup to maps__insert() Arnaldo Carvalho de Melo
2020-02-14 19:10 ` [PATCH 09/23] tools headers UAPI: Sync copy of arm64's asm/unistd.h with the kernel sources Arnaldo Carvalho de Melo
2020-02-14 19:10 ` [PATCH 10/23] tools headers UAPI: Sync prctl.h " Arnaldo Carvalho de Melo
2020-02-14 19:10 ` [PATCH 11/23] perf beauty prctl: Export the 'options' strarray Arnaldo Carvalho de Melo
2020-02-14 19:10 ` [PATCH 12/23] perf trace: Resolve prctl's 'option' arg strings to numbers Arnaldo Carvalho de Melo
2020-02-14 19:10 ` [PATCH 13/23] tools headers UAPI: Sync sched.h with the kernel Arnaldo Carvalho de Melo
2020-02-14 19:10 ` [PATCH 14/23] tools headers uapi: Sync linux/fscrypt.h with the kernel sources Arnaldo Carvalho de Melo
2020-02-14 19:10 ` [PATCH 15/23] tools headers UAPI: Sync drm/i915_drm.h " Arnaldo Carvalho de Melo
2020-02-14 19:10 ` [PATCH 16/23] perf tools: Add arm64 version of get_cpuid() Arnaldo Carvalho de Melo
2020-02-14 19:10 ` [PATCH 17/23] tools headers UAPI: Sync asm-generic/mman-common.h with the kernel Arnaldo Carvalho de Melo
2020-02-14 19:10 ` [PATCH 18/23] tools include UAPI: Sync sound/asound.h copy Arnaldo Carvalho de Melo
2020-02-14 19:10 ` [PATCH 19/23] tools headers x86: Sync disabled-features.h Arnaldo Carvalho de Melo
2020-02-14 19:10 ` [PATCH 20/23] tools arch x86: Sync asm/cpufeatures.h with the kernel sources Arnaldo Carvalho de Melo
2020-02-14 19:10 ` [PATCH 21/23] tools headers kvm: Sync kvm headers " Arnaldo Carvalho de Melo
2020-02-14 19:10 ` [PATCH 22/23] tools headers kvm: Sync linux/kvm.h " Arnaldo Carvalho de Melo
2020-02-14 19:10 ` [PATCH 23/23] perf llvm: Fix script used to obtain kernel make directives to work with new kbuild Arnaldo Carvalho de Melo
2020-02-15  8:36 ` [GIT PULL] perf/urgent improvements and fixes Ingo Molnar

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=20200214191057.26266-8-acme@kernel.org \
    --to=acme@kernel.org \
    --cc=acme@redhat.com \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=jolsa@kernel.org \
    --cc=kim.phillips@amd.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=mpetlan@redhat.com \
    --cc=namhyung@kernel.org \
    --cc=peterz@infradead.org \
    --cc=ravi.bangoria@linux.ibm.com \
    --cc=tglx@linutronix.de \
    --cc=williams@redhat.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).