* [PATCH] perf tools: Check '/tmp/perf-' symbol file ownership
@ 2011-08-09 19:54 Pekka Enberg
2011-08-09 19:55 ` Pekka Enberg
2011-08-10 9:48 ` [tip:perf/urgent] perf symbols: " tip-bot for Pekka Enberg
0 siblings, 2 replies; 5+ messages in thread
From: Pekka Enberg @ 2011-08-09 19:54 UTC (permalink / raw)
To: linux-kernel
Cc: Pekka Enberg, Arnaldo Carvalho de Melo, Frederic Weisbecker,
Peter Zijlstra
The external symbol files are generated by JIT compilers, for example, but we
need to make sure they're ours before injecting them to 'perf report'.
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: Pekka Enberg <penberg@kernel.org>
---
tools/perf/util/symbol.c | 11 +++++++++++
1 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/tools/perf/util/symbol.c b/tools/perf/util/symbol.c
index eec1963..a8b5371 100644
--- a/tools/perf/util/symbol.c
+++ b/tools/perf/util/symbol.c
@@ -1504,6 +1504,17 @@ int dso__load(struct dso *dso, struct map *map, symbol_filter_t filter)
dso->adjust_symbols = 0;
if (strncmp(dso->name, "/tmp/perf-", 10) == 0) {
+ struct stat st;
+
+ if (stat(dso->name, &st) < 0)
+ return -1;
+
+ if (st.st_uid && (st.st_uid != geteuid())) {
+ pr_warning("File %s not owned by current user or root, "
+ "ignoring it.\n", dso->name);
+ return -1;
+ }
+
ret = dso__load_perf_map(dso, map, filter);
dso->symtab_type = ret > 0 ? SYMTAB__JAVA_JIT :
SYMTAB__NOT_FOUND;
--
1.7.0.4
^ permalink raw reply related [flat|nested] 5+ messages in thread* Re: [PATCH] perf tools: Check '/tmp/perf-' symbol file ownership
2011-08-09 19:54 [PATCH] perf tools: Check '/tmp/perf-' symbol file ownership Pekka Enberg
@ 2011-08-09 19:55 ` Pekka Enberg
2011-08-10 9:48 ` [tip:perf/urgent] perf symbols: " tip-bot for Pekka Enberg
1 sibling, 0 replies; 5+ messages in thread
From: Pekka Enberg @ 2011-08-09 19:55 UTC (permalink / raw)
To: linux-kernel
Cc: Pekka Enberg, Arnaldo Carvalho de Melo, Frederic Weisbecker,
Peter Zijlstra, Ingo Molnar
On Tue, Aug 9, 2011 at 10:54 PM, Pekka Enberg <penberg@kernel.org> wrote:
> The external symbol files are generated by JIT compilers, for example, but we
> need to make sure they're ours before injecting them to 'perf report'.
>
> Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
> Cc: Frederic Weisbecker <fweisbec@gmail.com>
> Cc: Peter Zijlstra <peterz@infradead.org>
> Signed-off-by: Pekka Enberg <penberg@kernel.org>
Doh - I forgot to CC Ingo who asked for this in the first place...
> ---
> tools/perf/util/symbol.c | 11 +++++++++++
> 1 files changed, 11 insertions(+), 0 deletions(-)
>
> diff --git a/tools/perf/util/symbol.c b/tools/perf/util/symbol.c
> index eec1963..a8b5371 100644
> --- a/tools/perf/util/symbol.c
> +++ b/tools/perf/util/symbol.c
> @@ -1504,6 +1504,17 @@ int dso__load(struct dso *dso, struct map *map, symbol_filter_t filter)
> dso->adjust_symbols = 0;
>
> if (strncmp(dso->name, "/tmp/perf-", 10) == 0) {
> + struct stat st;
> +
> + if (stat(dso->name, &st) < 0)
> + return -1;
> +
> + if (st.st_uid && (st.st_uid != geteuid())) {
> + pr_warning("File %s not owned by current user or root, "
> + "ignoring it.\n", dso->name);
> + return -1;
> + }
> +
> ret = dso__load_perf_map(dso, map, filter);
> dso->symtab_type = ret > 0 ? SYMTAB__JAVA_JIT :
> SYMTAB__NOT_FOUND;
> --
> 1.7.0.4
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
^ permalink raw reply [flat|nested] 5+ messages in thread* [tip:perf/urgent] perf symbols: Check '/tmp/perf-' symbol file ownership
2011-08-09 19:54 [PATCH] perf tools: Check '/tmp/perf-' symbol file ownership Pekka Enberg
2011-08-09 19:55 ` Pekka Enberg
@ 2011-08-10 9:48 ` tip-bot for Pekka Enberg
2011-08-11 4:51 ` David Ahern
1 sibling, 1 reply; 5+ messages in thread
From: tip-bot for Pekka Enberg @ 2011-08-10 9:48 UTC (permalink / raw)
To: linux-tip-commits
Cc: acme, linux-kernel, hpa, mingo, peterz, penberg, fweisbec, tglx,
mingo
Commit-ID: 981c1252691f4b855f2bb47ea93fb6052ea3aee2
Gitweb: http://git.kernel.org/tip/981c1252691f4b855f2bb47ea93fb6052ea3aee2
Author: Pekka Enberg <penberg@kernel.org>
AuthorDate: Tue, 9 Aug 2011 22:54:18 +0300
Committer: Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Tue, 9 Aug 2011 15:23:08 -0300
perf symbols: Check '/tmp/perf-' symbol file ownership
The external symbol files are generated by JIT compilers, for example, but we
need to make sure they're ours before injecting them to 'perf report'.
Requested-by: Ingo Molnar <mingo@elte.hu>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/1312919658-17158-1-git-send-email-penberg@kernel.org
Signed-off-by: Pekka Enberg <penberg@kernel.org>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/util/symbol.c | 11 +++++++++++
1 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/tools/perf/util/symbol.c b/tools/perf/util/symbol.c
index eec1963..a8b5371 100644
--- a/tools/perf/util/symbol.c
+++ b/tools/perf/util/symbol.c
@@ -1504,6 +1504,17 @@ int dso__load(struct dso *dso, struct map *map, symbol_filter_t filter)
dso->adjust_symbols = 0;
if (strncmp(dso->name, "/tmp/perf-", 10) == 0) {
+ struct stat st;
+
+ if (stat(dso->name, &st) < 0)
+ return -1;
+
+ if (st.st_uid && (st.st_uid != geteuid())) {
+ pr_warning("File %s not owned by current user or root, "
+ "ignoring it.\n", dso->name);
+ return -1;
+ }
+
ret = dso__load_perf_map(dso, map, filter);
dso->symtab_type = ret > 0 ? SYMTAB__JAVA_JIT :
SYMTAB__NOT_FOUND;
^ permalink raw reply related [flat|nested] 5+ messages in thread* Re: [tip:perf/urgent] perf symbols: Check '/tmp/perf-' symbol file ownership
2011-08-10 9:48 ` [tip:perf/urgent] perf symbols: " tip-bot for Pekka Enberg
@ 2011-08-11 4:51 ` David Ahern
2011-08-12 17:34 ` Pekka Enberg
0 siblings, 1 reply; 5+ messages in thread
From: David Ahern @ 2011-08-11 4:51 UTC (permalink / raw)
To: mingo, hpa, linux-kernel, acme, fweisbec, penberg, peterz, tglx,
mingo
Cc: linux-tip-commits
On 08/10/2011 03:48 AM, tip-bot for Pekka Enberg wrote:
> Commit-ID: 981c1252691f4b855f2bb47ea93fb6052ea3aee2
> Gitweb: http://git.kernel.org/tip/981c1252691f4b855f2bb47ea93fb6052ea3aee2
> Author: Pekka Enberg <penberg@kernel.org>
> AuthorDate: Tue, 9 Aug 2011 22:54:18 +0300
> Committer: Arnaldo Carvalho de Melo <acme@redhat.com>
> CommitDate: Tue, 9 Aug 2011 15:23:08 -0300
>
> perf symbols: Check '/tmp/perf-' symbol file ownership
>
> The external symbol files are generated by JIT compilers, for example, but we
> need to make sure they're ours before injecting them to 'perf report'.
>
> Requested-by: Ingo Molnar <mingo@elte.hu>
> Cc: Frederic Weisbecker <fweisbec@gmail.com>
> Cc: Peter Zijlstra <peterz@infradead.org>
> Link: http://lkml.kernel.org/r/1312919658-17158-1-git-send-email-penberg@kernel.org
> Signed-off-by: Pekka Enberg <penberg@kernel.org>
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> ---
> tools/perf/util/symbol.c | 11 +++++++++++
> 1 files changed, 11 insertions(+), 0 deletions(-)
>
> diff --git a/tools/perf/util/symbol.c b/tools/perf/util/symbol.c
> index eec1963..a8b5371 100644
> --- a/tools/perf/util/symbol.c
> +++ b/tools/perf/util/symbol.c
> @@ -1504,6 +1504,17 @@ int dso__load(struct dso *dso, struct map *map, symbol_filter_t filter)
> dso->adjust_symbols = 0;
>
> if (strncmp(dso->name, "/tmp/perf-", 10) == 0) {
> + struct stat st;
> +
> + if (stat(dso->name, &st) < 0)
> + return -1;
> +
> + if (st.st_uid && (st.st_uid != geteuid())) {
> + pr_warning("File %s not owned by current user or root, "
> + "ignoring it.\n", dso->name);
> + return -1;
> + }
Is the force option relevant here -- similar to perf_session__open()?
David
> +
> ret = dso__load_perf_map(dso, map, filter);
> dso->symtab_type = ret > 0 ? SYMTAB__JAVA_JIT :
> SYMTAB__NOT_FOUND;
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [tip:perf/urgent] perf symbols: Check '/tmp/perf-' symbol file ownership
2011-08-11 4:51 ` David Ahern
@ 2011-08-12 17:34 ` Pekka Enberg
0 siblings, 0 replies; 5+ messages in thread
From: Pekka Enberg @ 2011-08-12 17:34 UTC (permalink / raw)
To: David Ahern
Cc: mingo, hpa, linux-kernel, acme, fweisbec, peterz, tglx, mingo,
linux-tip-commits
On Thu, Aug 11, 2011 at 7:51 AM, David Ahern <dsahern@gmail.com> wrote:
> On 08/10/2011 03:48 AM, tip-bot for Pekka Enberg wrote:
>> Commit-ID: 981c1252691f4b855f2bb47ea93fb6052ea3aee2
>> Gitweb: http://git.kernel.org/tip/981c1252691f4b855f2bb47ea93fb6052ea3aee2
>> Author: Pekka Enberg <penberg@kernel.org>
>> AuthorDate: Tue, 9 Aug 2011 22:54:18 +0300
>> Committer: Arnaldo Carvalho de Melo <acme@redhat.com>
>> CommitDate: Tue, 9 Aug 2011 15:23:08 -0300
>>
>> perf symbols: Check '/tmp/perf-' symbol file ownership
>>
>> The external symbol files are generated by JIT compilers, for example, but we
>> need to make sure they're ours before injecting them to 'perf report'.
>>
>> Requested-by: Ingo Molnar <mingo@elte.hu>
>> Cc: Frederic Weisbecker <fweisbec@gmail.com>
>> Cc: Peter Zijlstra <peterz@infradead.org>
>> Link: http://lkml.kernel.org/r/1312919658-17158-1-git-send-email-penberg@kernel.org
>> Signed-off-by: Pekka Enberg <penberg@kernel.org>
>> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
>> ---
>> tools/perf/util/symbol.c | 11 +++++++++++
>> 1 files changed, 11 insertions(+), 0 deletions(-)
>>
>> diff --git a/tools/perf/util/symbol.c b/tools/perf/util/symbol.c
>> index eec1963..a8b5371 100644
>> --- a/tools/perf/util/symbol.c
>> +++ b/tools/perf/util/symbol.c
>> @@ -1504,6 +1504,17 @@ int dso__load(struct dso *dso, struct map *map, symbol_filter_t filter)
>> dso->adjust_symbols = 0;
>>
>> if (strncmp(dso->name, "/tmp/perf-", 10) == 0) {
>> + struct stat st;
>> +
>> + if (stat(dso->name, &st) < 0)
>> + return -1;
>> +
>> + if (st.st_uid && (st.st_uid != geteuid())) {
>> + pr_warning("File %s not owned by current user or root, "
>> + "ignoring it.\n", dso->name);
>> + return -1;
>> + }
>
> Is the force option relevant here -- similar to perf_session__open()?
I don't know, I guess not. Ingo, Arnaldo?
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2011-08-12 17:34 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-08-09 19:54 [PATCH] perf tools: Check '/tmp/perf-' symbol file ownership Pekka Enberg
2011-08-09 19:55 ` Pekka Enberg
2011-08-10 9:48 ` [tip:perf/urgent] perf symbols: " tip-bot for Pekka Enberg
2011-08-11 4:51 ` David Ahern
2011-08-12 17:34 ` Pekka Enberg
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox