* [PATCH] perf daemon: Fix compile error with Asan
@ 2021-02-24 7:14 Namhyung Kim
2021-02-24 11:06 ` Jiri Olsa
0 siblings, 1 reply; 3+ messages in thread
From: Namhyung Kim @ 2021-02-24 7:14 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo, Jiri Olsa
Cc: Ingo Molnar, Peter Zijlstra, Mark Rutland, Alexander Shishkin,
LKML, Stephane Eranian, Ian Rogers
I'm seeing a build failure when build with address sanitizer.
It seems we could write to the name[100] if the var is longer.
$ make EXTRA_CFLAGS=-fsanitize=address
...
CC builtin-daemon.o
In function ‘get_session_name’,
inlined from ‘session_config’ at builtin-daemon.c:164:6,
inlined from ‘server_config’ at builtin-daemon.c:223:10:
builtin-daemon.c:155:11: error: writing 1 byte into a region of size 0 [-Werror=stringop-overflow=]
155 | *session = 0;
| ~~~~~~~~~^~~
builtin-daemon.c: In function ‘server_config’:
builtin-daemon.c:162:7: note: at offset 100 to object ‘name’ with size 100 declared here
162 | char name[100];
| ^~~~
Fixes: c0666261ff38 ("perf daemon: Add config file support")
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
---
tools/perf/builtin-daemon.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/perf/builtin-daemon.c b/tools/perf/builtin-daemon.c
index 617feaf020f6..8f9fc61691da 100644
--- a/tools/perf/builtin-daemon.c
+++ b/tools/perf/builtin-daemon.c
@@ -161,7 +161,7 @@ static int session_config(struct daemon *daemon, const char *var, const char *va
struct daemon_session *session;
char name[100];
- if (get_session_name(var, name, sizeof(name)))
+ if (get_session_name(var, name, sizeof(name) - 1))
return -EINVAL;
var = strchr(var, '.');
--
2.30.0.617.g56c4b15f3c-goog
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] perf daemon: Fix compile error with Asan
2021-02-24 7:14 [PATCH] perf daemon: Fix compile error with Asan Namhyung Kim
@ 2021-02-24 11:06 ` Jiri Olsa
2021-03-03 15:54 ` Arnaldo Carvalho de Melo
0 siblings, 1 reply; 3+ messages in thread
From: Jiri Olsa @ 2021-02-24 11:06 UTC (permalink / raw)
To: Namhyung Kim
Cc: Arnaldo Carvalho de Melo, Ingo Molnar, Peter Zijlstra,
Mark Rutland, Alexander Shishkin, LKML, Stephane Eranian,
Ian Rogers
On Wed, Feb 24, 2021 at 04:14:38PM +0900, Namhyung Kim wrote:
> I'm seeing a build failure when build with address sanitizer.
> It seems we could write to the name[100] if the var is longer.
>
> $ make EXTRA_CFLAGS=-fsanitize=address
> ...
> CC builtin-daemon.o
> In function ‘get_session_name’,
> inlined from ‘session_config’ at builtin-daemon.c:164:6,
> inlined from ‘server_config’ at builtin-daemon.c:223:10:
> builtin-daemon.c:155:11: error: writing 1 byte into a region of size 0 [-Werror=stringop-overflow=]
> 155 | *session = 0;
> | ~~~~~~~~~^~~
> builtin-daemon.c: In function ‘server_config’:
> builtin-daemon.c:162:7: note: at offset 100 to object ‘name’ with size 100 declared here
> 162 | char name[100];
> | ^~~~
>
> Fixes: c0666261ff38 ("perf daemon: Add config file support")
> Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Acked-by: Jiri Olsa <jolsa@redhat.com>
thanks,
jirka
> ---
> tools/perf/builtin-daemon.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/perf/builtin-daemon.c b/tools/perf/builtin-daemon.c
> index 617feaf020f6..8f9fc61691da 100644
> --- a/tools/perf/builtin-daemon.c
> +++ b/tools/perf/builtin-daemon.c
> @@ -161,7 +161,7 @@ static int session_config(struct daemon *daemon, const char *var, const char *va
> struct daemon_session *session;
> char name[100];
>
> - if (get_session_name(var, name, sizeof(name)))
> + if (get_session_name(var, name, sizeof(name) - 1))
> return -EINVAL;
>
> var = strchr(var, '.');
> --
> 2.30.0.617.g56c4b15f3c-goog
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] perf daemon: Fix compile error with Asan
2021-02-24 11:06 ` Jiri Olsa
@ 2021-03-03 15:54 ` Arnaldo Carvalho de Melo
0 siblings, 0 replies; 3+ messages in thread
From: Arnaldo Carvalho de Melo @ 2021-03-03 15:54 UTC (permalink / raw)
To: Jiri Olsa
Cc: Namhyung Kim, Ingo Molnar, Peter Zijlstra, Mark Rutland,
Alexander Shishkin, LKML, Stephane Eranian, Ian Rogers
Em Wed, Feb 24, 2021 at 12:06:46PM +0100, Jiri Olsa escreveu:
> On Wed, Feb 24, 2021 at 04:14:38PM +0900, Namhyung Kim wrote:
> > I'm seeing a build failure when build with address sanitizer.
> > It seems we could write to the name[100] if the var is longer.
> >
> > $ make EXTRA_CFLAGS=-fsanitize=address
> > ...
> > CC builtin-daemon.o
> > In function ‘get_session_name’,
> > inlined from ‘session_config’ at builtin-daemon.c:164:6,
> > inlined from ‘server_config’ at builtin-daemon.c:223:10:
> > builtin-daemon.c:155:11: error: writing 1 byte into a region of size 0 [-Werror=stringop-overflow=]
> > 155 | *session = 0;
> > | ~~~~~~~~~^~~
> > builtin-daemon.c: In function ‘server_config’:
> > builtin-daemon.c:162:7: note: at offset 100 to object ‘name’ with size 100 declared here
> > 162 | char name[100];
> > | ^~~~
> >
> > Fixes: c0666261ff38 ("perf daemon: Add config file support")
> > Signed-off-by: Namhyung Kim <namhyung@kernel.org>
>
> Acked-by: Jiri Olsa <jolsa@redhat.com>
Thanks, applied.
- Arnaldo
> thanks,
> jirka
>
> > ---
> > tools/perf/builtin-daemon.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/tools/perf/builtin-daemon.c b/tools/perf/builtin-daemon.c
> > index 617feaf020f6..8f9fc61691da 100644
> > --- a/tools/perf/builtin-daemon.c
> > +++ b/tools/perf/builtin-daemon.c
> > @@ -161,7 +161,7 @@ static int session_config(struct daemon *daemon, const char *var, const char *va
> > struct daemon_session *session;
> > char name[100];
> >
> > - if (get_session_name(var, name, sizeof(name)))
> > + if (get_session_name(var, name, sizeof(name) - 1))
> > return -EINVAL;
> >
> > var = strchr(var, '.');
> > --
> > 2.30.0.617.g56c4b15f3c-goog
> >
>
--
- Arnaldo
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2021-03-03 19:07 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-24 7:14 [PATCH] perf daemon: Fix compile error with Asan Namhyung Kim
2021-02-24 11:06 ` Jiri Olsa
2021-03-03 15:54 ` Arnaldo Carvalho de Melo
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.