tools/testing/selftests/bpf/progs/perf_event_stackmap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
The bpf_get_stackid() function may also return 0 on success.
Signed-off-by: Yuntao Wang <ytcoode@gmail.com>
---
tools/testing/selftests/bpf/progs/perf_event_stackmap.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tools/testing/selftests/bpf/progs/perf_event_stackmap.c b/tools/testing/selftests/bpf/progs/perf_event_stackmap.c
index b3fcb5274ee0..f793280a3238 100644
--- a/tools/testing/selftests/bpf/progs/perf_event_stackmap.c
+++ b/tools/testing/selftests/bpf/progs/perf_event_stackmap.c
@@ -35,10 +35,10 @@ int oncpu(void *ctx)
long val;
val = bpf_get_stackid(ctx, &stackmap, 0);
- if (val > 0)
+ if (val >= 0)
stackid_kernel = 2;
val = bpf_get_stackid(ctx, &stackmap, BPF_F_USER_STACK);
- if (val > 0)
+ if (val >= 0)
stackid_user = 2;
trace = bpf_map_lookup_elem(&stackdata_map, &key);
--
2.35.1
On 4/7/22 9:38 AM, Yuntao Wang wrote: > The bpf_get_stackid() function may also return 0 on success. Can you add couple of sentences to describe what this patch does? bpf_get_stackid() may also return doesn't really say anything about why this patch is needed. > > Signed-off-by: Yuntao Wang <ytcoode@gmail.com> > --- > tools/testing/selftests/bpf/progs/perf_event_stackmap.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/tools/testing/selftests/bpf/progs/perf_event_stackmap.c b/tools/testing/selftests/bpf/progs/perf_event_stackmap.c > index b3fcb5274ee0..f793280a3238 100644 > --- a/tools/testing/selftests/bpf/progs/perf_event_stackmap.c > +++ b/tools/testing/selftests/bpf/progs/perf_event_stackmap.c > @@ -35,10 +35,10 @@ int oncpu(void *ctx) > long val; > > val = bpf_get_stackid(ctx, &stackmap, 0); > - if (val > 0) > + if (val >= 0) > stackid_kernel = 2; > val = bpf_get_stackid(ctx, &stackmap, BPF_F_USER_STACK); > - if (val > 0) > + if (val >= 0) > stackid_user = 2; > > trace = bpf_map_lookup_elem(&stackdata_map, &key); > Linux 5.18-rc1 shows a couple of more bpf_get_stackid() in this function. Removed in bpf-next - I assume. The change is good. I would like to see it explained better in the commit log. With the commit log fixed to explain why this change is needed and what happens if val equals to 0 condition isn't checked: Reviewed-by: Shuah Khan <skhan@linuxfoundation.org> thanks, -- Shuah
The bpf_get_stackid() function may also return 0 on success.
Correct checks from 'val > 0' to 'val >= 0' to ensure that they cover all
possible success return values.
Signed-off-by: Yuntao Wang <ytcoode@gmail.com>
---
v1 -> v2: update commit message
tools/testing/selftests/bpf/progs/perf_event_stackmap.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tools/testing/selftests/bpf/progs/perf_event_stackmap.c b/tools/testing/selftests/bpf/progs/perf_event_stackmap.c
index b3fcb5274ee0..f793280a3238 100644
--- a/tools/testing/selftests/bpf/progs/perf_event_stackmap.c
+++ b/tools/testing/selftests/bpf/progs/perf_event_stackmap.c
@@ -35,10 +35,10 @@ int oncpu(void *ctx)
long val;
val = bpf_get_stackid(ctx, &stackmap, 0);
- if (val > 0)
+ if (val >= 0)
stackid_kernel = 2;
val = bpf_get_stackid(ctx, &stackmap, BPF_F_USER_STACK);
- if (val > 0)
+ if (val >= 0)
stackid_user = 2;
trace = bpf_map_lookup_elem(&stackdata_map, &key);
--
2.35.0.rc2
Hello:
This patch was applied to bpf/bpf-next.git (master)
by Daniel Borkmann <daniel@iogearbox.net>:
On Fri, 8 Apr 2022 12:14:52 +0800 you wrote:
> The bpf_get_stackid() function may also return 0 on success.
>
> Correct checks from 'val > 0' to 'val >= 0' to ensure that they cover all
> possible success return values.
>
> Signed-off-by: Yuntao Wang <ytcoode@gmail.com>
>
> [...]
Here is the summary with links:
- [bpf-next,v2] selftests/bpf: Fix return value checks in perf_event_stackmap.c
https://git.kernel.org/bpf/bpf-next/c/658d87687cd5
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
© 2016 - 2026 Red Hat, Inc.