tools/perf/util/bpf_skel/kwork_trace.bpf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
From: Feng Yang <yangfeng@kylinos.cn>
When s2[i] = '\0', if s1[i] != '\0', it will be judged by ret,
and if s1[i] = '\0', it will be judegd by !s1[i].
So in reality, s2 [i] will never make a judgment
Signed-off-by: Feng Yang <yangfeng@kylinos.cn>
---
tools/perf/util/bpf_skel/kwork_trace.bpf.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/perf/util/bpf_skel/kwork_trace.bpf.c b/tools/perf/util/bpf_skel/kwork_trace.bpf.c
index cbd79bc4b330..9ce9c8dddc4b 100644
--- a/tools/perf/util/bpf_skel/kwork_trace.bpf.c
+++ b/tools/perf/util/bpf_skel/kwork_trace.bpf.c
@@ -80,7 +80,7 @@ static __always_inline int local_strncmp(const char *s1,
for (i = 0; i < sz; i++) {
ret = (unsigned char)s1[i] - (unsigned char)s2[i];
- if (ret || !s1[i] || !s2[i])
+ if (ret || !s1[i])
break;
}
--
2.43.0
On Fri, 14 Mar 2025 11:10:13 +0800, Feng Yang wrote: > When s2[i] = '\0', if s1[i] != '\0', it will be judged by ret, > and if s1[i] = '\0', it will be judegd by !s1[i]. > So in reality, s2 [i] will never make a judgment > > Applied to perf-tools-next, thanks! Best regards, Namhyung
On Thu, Mar 13, 2025 at 8:10 PM Feng Yang <yangfeng59949@163.com> wrote:
>
> From: Feng Yang <yangfeng@kylinos.cn>
>
> When s2[i] = '\0', if s1[i] != '\0', it will be judged by ret,
> and if s1[i] = '\0', it will be judegd by !s1[i].
> So in reality, s2 [i] will never make a judgment
Sgtm. Out of curiosity, was this tripping a compiler warning? If so,
could you provide the details?
Thanks,
Ian
> Signed-off-by: Feng Yang <yangfeng@kylinos.cn>
> ---
> tools/perf/util/bpf_skel/kwork_trace.bpf.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/perf/util/bpf_skel/kwork_trace.bpf.c b/tools/perf/util/bpf_skel/kwork_trace.bpf.c
> index cbd79bc4b330..9ce9c8dddc4b 100644
> --- a/tools/perf/util/bpf_skel/kwork_trace.bpf.c
> +++ b/tools/perf/util/bpf_skel/kwork_trace.bpf.c
> @@ -80,7 +80,7 @@ static __always_inline int local_strncmp(const char *s1,
>
> for (i = 0; i < sz; i++) {
> ret = (unsigned char)s1[i] - (unsigned char)s2[i];
> - if (ret || !s1[i] || !s2[i])
> + if (ret || !s1[i])
> break;
> }
>
> --
> 2.43.0
>
On Mon, 17 Mar 2025 08:44:45 -0700 Ian Rogers <irogers@google.com> wrote: > > On Thu, Mar 13, 2025 at 8:10 PM Feng Yang <yangfeng59949@163.com> wrote: > > > > From: Feng Yang <yangfeng@kylinos.cn> > > > > When s2[i] = '\0', if s1[i] != '\0', it will be judged by ret, > > and if s1[i] = '\0', it will be judegd by !s1[i]. > > So in reality, s2 [i] will never make a judgment > > Sgtm. Out of curiosity, was this tripping a compiler warning? If so, > could you provide the details? > > Thanks, > Ian There was no warning during compilation, I just accidentally discovered it while testing and analyzing this code. Feng
On Mon, Mar 17, 2025 at 7:17 PM Feng Yang <yangfeng59949@163.com> wrote: > > On Mon, 17 Mar 2025 08:44:45 -0700 Ian Rogers <irogers@google.com> wrote: > > > > On Thu, Mar 13, 2025 at 8:10 PM Feng Yang <yangfeng59949@163.com> wrote: > > > > > > From: Feng Yang <yangfeng@kylinos.cn> > > > > > > When s2[i] = '\0', if s1[i] != '\0', it will be judged by ret, > > > and if s1[i] = '\0', it will be judegd by !s1[i]. > > > So in reality, s2 [i] will never make a judgment > > > > Sgtm. Out of curiosity, was this tripping a compiler warning? If so, > > could you provide the details? > > > > Thanks, > > Ian > > There was no warning during compilation, > I just accidentally discovered it while testing and analyzing this code. Thanks! Reviewed-by: Ian Rogers <irogers@google.com> Ian
© 2016 - 2026 Red Hat, Inc.