diff mbox series

selftests/bpf: fix signedness bug in redir_partial()

Message ID 20250608143623.25242-1-wangfushuai@baidu.com
State New
Headers show
Series selftests/bpf: fix signedness bug in redir_partial() | expand

Commit Message

wangfushuai June 8, 2025, 2:36 p.m. UTC
When xsend() returns -1 (error), the check 'n < sizeof(buf)' incorrectly
treats it as success due to unsigned promotion. Explicitly check for -1
first.

Fixes: a4b7193d8efd ("selftests/bpf: Add sockmap test for redirecting partial skb data")
Signed-off-by: wangfushuai <wangfushuai@baidu.com>
---
 tools/testing/selftests/bpf/prog_tests/sockmap_listen.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Alexei Starovoitov June 11, 2025, 7:51 p.m. UTC | #1
On Sun, Jun 8, 2025 at 7:38 AM wangfushuai <wangfushuai@baidu.com> wrote:
>
> When xsend() returns -1 (error), the check 'n < sizeof(buf)' incorrectly
> treats it as success due to unsigned promotion. Explicitly check for -1
> first.
>
> Fixes: a4b7193d8efd ("selftests/bpf: Add sockmap test for redirecting partial skb data")
> Signed-off-by: wangfushuai <wangfushuai@baidu.com>

Looks good, but please spell out your name as First Last
in both From and Signed-off

Also use [PATCH bpf-next] in subject

pw-bot: cr

> ---
>  tools/testing/selftests/bpf/prog_tests/sockmap_listen.c | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/tools/testing/selftests/bpf/prog_tests/sockmap_listen.c b/tools/testing/selftests/bpf/prog_tests/sockmap_listen.c
> index 1d98eee7a2c3..f1bdccc7e4e7 100644
> --- a/tools/testing/selftests/bpf/prog_tests/sockmap_listen.c
> +++ b/tools/testing/selftests/bpf/prog_tests/sockmap_listen.c
> @@ -924,6 +924,8 @@ static void redir_partial(int family, int sotype, int sock_map, int parser_map)
>                 goto close;
>
>         n = xsend(c1, buf, sizeof(buf), 0);
> +       if (n == -1)
> +               goto close;
>         if (n < sizeof(buf))
>                 FAIL("incomplete write");
>
> --
> 2.36.1
>
diff mbox series

Patch

diff --git a/tools/testing/selftests/bpf/prog_tests/sockmap_listen.c b/tools/testing/selftests/bpf/prog_tests/sockmap_listen.c
index 1d98eee7a2c3..f1bdccc7e4e7 100644
--- a/tools/testing/selftests/bpf/prog_tests/sockmap_listen.c
+++ b/tools/testing/selftests/bpf/prog_tests/sockmap_listen.c
@@ -924,6 +924,8 @@  static void redir_partial(int family, int sotype, int sock_map, int parser_map)
 		goto close;
 
 	n = xsend(c1, buf, sizeof(buf), 0);
+	if (n == -1)
+		goto close;
 	if (n < sizeof(buf))
 		FAIL("incomplete write");