linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] perf llvm: don't access out-of-scope array
@ 2019-09-26 22:00 Ian Rogers
  2019-09-27 15:26 ` Arnaldo Carvalho de Melo
  2019-10-07 14:49 ` [tip: perf/urgent] perf llvm: Don't " tip-bot2 for Ian Rogers
  0 siblings, 2 replies; 3+ messages in thread
From: Ian Rogers @ 2019-09-26 22:00 UTC (permalink / raw)
  To: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
	Alexander Shishkin, Jiri Olsa, Namhyung Kim, Andi Kleen,
	linux-kernel
  Cc: Stephane Eranian, Ian Rogers

test_dir is assigned to the release array which is out-of-scope 3 lines
later. Extend the scope of the release array so that an out-of-scope
array isn't accessed.
Bug detected by clang's address sanitizer.

Signed-off-by: Ian Rogers <irogers@google.com>
---
 tools/perf/util/llvm-utils.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/tools/perf/util/llvm-utils.c b/tools/perf/util/llvm-utils.c
index 8d04e3d070b1..8b14e4a7f1dc 100644
--- a/tools/perf/util/llvm-utils.c
+++ b/tools/perf/util/llvm-utils.c
@@ -233,14 +233,14 @@ static int detect_kbuild_dir(char **kbuild_dir)
 	const char *prefix_dir = "";
 	const char *suffix_dir = "";
 
+	/* _UTSNAME_LENGTH is 65 */
+	char release[128];
+
 	char *autoconf_path;
 
 	int err;
 
 	if (!test_dir) {
-		/* _UTSNAME_LENGTH is 65 */
-		char release[128];
-
 		err = fetch_kernel_version(NULL, release,
 					   sizeof(release));
 		if (err)
-- 
2.23.0.444.g18eeb5a265-goog


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] perf llvm: don't access out-of-scope array
  2019-09-26 22:00 [PATCH] perf llvm: don't access out-of-scope array Ian Rogers
@ 2019-09-27 15:26 ` Arnaldo Carvalho de Melo
  2019-10-07 14:49 ` [tip: perf/urgent] perf llvm: Don't " tip-bot2 for Ian Rogers
  1 sibling, 0 replies; 3+ messages in thread
From: Arnaldo Carvalho de Melo @ 2019-09-27 15:26 UTC (permalink / raw)
  To: Ian Rogers
  Cc: Peter Zijlstra, Ingo Molnar, Alexander Shishkin, Jiri Olsa,
	Namhyung Kim, Andi Kleen, linux-kernel, Stephane Eranian,
	Wang Nan

Em Thu, Sep 26, 2019 at 03:00:18PM -0700, Ian Rogers escreveu:
> test_dir is assigned to the release array which is out-of-scope 3 lines
> later. Extend the scope of the release array so that an out-of-scope
> array isn't accessed.
> Bug detected by clang's address sanitizer.

This one is really ironic, code to support using clang/llvm in perf is
caught with a bug detected by clang's utilities ;-)

Please next time try to use 'git blame' so as to add this:

[root@quaco perf]# git tag --contains 07bc5c699a3d | grep ^v[[:digit:]] | sort --version-sort | head -1
v4.4
[root@quaco perf]#

Cc: Wang Nan <wangnan0@huawei.com>
Cc: stable@vger.kernel.org # v4.4+
Fixes: 07bc5c699a3d ("perf tools: Make fetch_kernel_version() publicly available")

And help get noticed by the various backport bots out there.

Thanks a lot, applied!

- Arnaldo
 
> Signed-off-by: Ian Rogers <irogers@google.com>
> ---
>  tools/perf/util/llvm-utils.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/tools/perf/util/llvm-utils.c b/tools/perf/util/llvm-utils.c
> index 8d04e3d070b1..8b14e4a7f1dc 100644
> --- a/tools/perf/util/llvm-utils.c
> +++ b/tools/perf/util/llvm-utils.c
> @@ -233,14 +233,14 @@ static int detect_kbuild_dir(char **kbuild_dir)
>  	const char *prefix_dir = "";
>  	const char *suffix_dir = "";
>  
> +	/* _UTSNAME_LENGTH is 65 */
> +	char release[128];
> +
>  	char *autoconf_path;
>  
>  	int err;
>  
>  	if (!test_dir) {
> -		/* _UTSNAME_LENGTH is 65 */
> -		char release[128];
> -
>  		err = fetch_kernel_version(NULL, release,
>  					   sizeof(release));
>  		if (err)
> -- 
> 2.23.0.444.g18eeb5a265-goog

-- 

- Arnaldo

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [tip: perf/urgent] perf llvm: Don't access out-of-scope array
  2019-09-26 22:00 [PATCH] perf llvm: don't access out-of-scope array Ian Rogers
  2019-09-27 15:26 ` Arnaldo Carvalho de Melo
@ 2019-10-07 14:49 ` tip-bot2 for Ian Rogers
  1 sibling, 0 replies; 3+ messages in thread
From: tip-bot2 for Ian Rogers @ 2019-10-07 14:49 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: stable, #, v4.4+,
	Ian Rogers, Alexander Shishkin, Andi Kleen, Jiri Olsa,
	Namhyung Kim, Peter Zijlstra, Stephane Eranian, Wang Nan,
	Arnaldo Carvalho de Melo, Ingo Molnar, Borislav Petkov,
	linux-kernel

The following commit has been merged into the perf/urgent branch of tip:

Commit-ID:     7d4c85b7035eb2f9ab217ce649dcd1bfaf0cacd3
Gitweb:        https://git.kernel.org/tip/7d4c85b7035eb2f9ab217ce649dcd1bfaf0cacd3
Author:        Ian Rogers <irogers@google.com>
AuthorDate:    Thu, 26 Sep 2019 15:00:18 -07:00
Committer:     Arnaldo Carvalho de Melo <acme@redhat.com>
CommitterDate: Mon, 30 Sep 2019 17:29:35 -03:00

perf llvm: Don't access out-of-scope array

The 'test_dir' variable is assigned to the 'release' array which is
out-of-scope 3 lines later.

Extend the scope of the 'release' array so that an out-of-scope array
isn't accessed.

Bug detected by clang's address sanitizer.

Fixes: 07bc5c699a3d ("perf tools: Make fetch_kernel_version() publicly available")
Cc: stable@vger.kernel.org # v4.4+
Signed-off-by: Ian Rogers <irogers@google.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lore.kernel.org/lkml/20190926220018.25402-1-irogers@google.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/util/llvm-utils.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/tools/perf/util/llvm-utils.c b/tools/perf/util/llvm-utils.c
index 8d04e3d..8b14e4a 100644
--- a/tools/perf/util/llvm-utils.c
+++ b/tools/perf/util/llvm-utils.c
@@ -233,14 +233,14 @@ static int detect_kbuild_dir(char **kbuild_dir)
 	const char *prefix_dir = "";
 	const char *suffix_dir = "";
 
+	/* _UTSNAME_LENGTH is 65 */
+	char release[128];
+
 	char *autoconf_path;
 
 	int err;
 
 	if (!test_dir) {
-		/* _UTSNAME_LENGTH is 65 */
-		char release[128];
-
 		err = fetch_kernel_version(NULL, release,
 					   sizeof(release));
 		if (err)

^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2019-10-07 14:50 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-09-26 22:00 [PATCH] perf llvm: don't access out-of-scope array Ian Rogers
2019-09-27 15:26 ` Arnaldo Carvalho de Melo
2019-10-07 14:49 ` [tip: perf/urgent] perf llvm: Don't " tip-bot2 for Ian Rogers

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).