2018-02-19 10:26:11

by Thomas-Mich Richter

[permalink] [raw]
Subject: [PATCH] perf s390: Fix reading cpuid model information

Commit feb3d2d955c8 (perf record: Provide detailed information
on s390 CPU") fixed a build error on Ubuntu. However the
fix uses the wrong size to print the model information.

Signed-off-by: Thomas Richter <[email protected]>
---
tools/perf/arch/s390/util/header.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/perf/arch/s390/util/header.c b/tools/perf/arch/s390/util/header.c
index 231294b80dc4..a4c30f1c70be 100644
--- a/tools/perf/arch/s390/util/header.c
+++ b/tools/perf/arch/s390/util/header.c
@@ -81,7 +81,7 @@ int get_cpuid(char *buffer, size_t sz)
line2 = line + strlen(SYSINFO_MODEL);

while ((cp = strtok_r(line2, "\n ", &line2))) {
- mdsize += scnprintf(model + mdsize, sizeof(type) - mdsize,
+ mdsize += scnprintf(model + mdsize, sizeof(model) - mdsize,
"%s%s", model[0] ? "," : "", cp);
}
break;
--
2.14.3



2018-02-19 12:15:05

by Arnaldo Carvalho de Melo

[permalink] [raw]
Subject: Re: [PATCH] perf s390: Fix reading cpuid model information

Em Mon, Feb 19, 2018 at 11:24:44AM +0100, Thomas Richter escreveu:
> Commit feb3d2d955c8 (perf record: Provide detailed information
> on s390 CPU") fixed a build error on Ubuntu. However the
> fix uses the wrong size to print the model information.

Thanks for the review and quick fix, I'm sorry for letting that slip :-\

sizeof(type) is smaller tha sizeof(model), so at least this would just
limit the formatted model variable to be at most sizeof(type) in lenght.

Anyway, applying the fix :-)

- Arnaldo

> Signed-off-by: Thomas Richter <[email protected]>
> ---
> tools/perf/arch/s390/util/header.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/perf/arch/s390/util/header.c b/tools/perf/arch/s390/util/header.c
> index 231294b80dc4..a4c30f1c70be 100644
> --- a/tools/perf/arch/s390/util/header.c
> +++ b/tools/perf/arch/s390/util/header.c
> @@ -81,7 +81,7 @@ int get_cpuid(char *buffer, size_t sz)
> line2 = line + strlen(SYSINFO_MODEL);
>
> while ((cp = strtok_r(line2, "\n ", &line2))) {
> - mdsize += scnprintf(model + mdsize, sizeof(type) - mdsize,
> + mdsize += scnprintf(model + mdsize, sizeof(model) - mdsize,
> "%s%s", model[0] ? "," : "", cp);
> }
> break;
> --
> 2.14.3

Subject: [tip:perf/core] perf s390: Fix reading cpuid model information

Commit-ID: 47812e00910407a0f14906c0a3bf2d803a616c6f
Gitweb: https://git.kernel.org/tip/47812e00910407a0f14906c0a3bf2d803a616c6f
Author: Thomas Richter <[email protected]>
AuthorDate: Mon, 19 Feb 2018 11:24:44 +0100
Committer: Arnaldo Carvalho de Melo <[email protected]>
CommitDate: Mon, 19 Feb 2018 09:16:01 -0300

perf s390: Fix reading cpuid model information

Commit eca0fa28cd0d (perf record: Provide detailed information on s390
CPU") fixed a build error on Ubuntu. However the fix uses the wrong
size to print the model information.

Signed-off-by: Thomas Richter <[email protected]>
Cc: Heiko Carstens <[email protected]>
Cc: Hendrik Brueckner <[email protected]>
Cc: Martin Schwidefsky <[email protected]>
Fixes: eca0fa28cd0d ("perf record: Provide detailed information on s390 CPU")
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
---
tools/perf/arch/s390/util/header.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/perf/arch/s390/util/header.c b/tools/perf/arch/s390/util/header.c
index 231294b..a4c30f1 100644
--- a/tools/perf/arch/s390/util/header.c
+++ b/tools/perf/arch/s390/util/header.c
@@ -81,7 +81,7 @@ int get_cpuid(char *buffer, size_t sz)
line2 = line + strlen(SYSINFO_MODEL);

while ((cp = strtok_r(line2, "\n ", &line2))) {
- mdsize += scnprintf(model + mdsize, sizeof(type) - mdsize,
+ mdsize += scnprintf(model + mdsize, sizeof(model) - mdsize,
"%s%s", model[0] ? "," : "", cp);
}
break;