Geliang Tang wrote:
> From: Geliang Tang <tanggeli...@kylinos.cn>
> 
> The value of recv in msg_loop may be negative, like EWOULDBLOCK, so it's
> necessary to check if it is positive before accumulating it to bytes_recvd.
> 
> Fixes: 16962b2404ac ("bpf: sockmap, add selftests")
> Signed-off-by: Geliang Tang <tanggeli...@kylinos.cn>
> ---
>  tools/testing/selftests/bpf/test_sockmap.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/tools/testing/selftests/bpf/test_sockmap.c 
> b/tools/testing/selftests/bpf/test_sockmap.c
> index 3654babfac59..4c7cb206b31d 100644
> --- a/tools/testing/selftests/bpf/test_sockmap.c
> +++ b/tools/testing/selftests/bpf/test_sockmap.c
> @@ -681,7 +681,8 @@ static int msg_loop(int fd, int iov_count, int 
> iov_length, int cnt,
>                               }
>                       }
>  
> -                     s->bytes_recvd += recv;
> +                     if (recv > 0)
> +                             s->bytes_recvd += recv;
>  
>                       if (opt->check_recved_len && s->bytes_recvd > 
> total_bytes) {
>                               errno = EMSGSIZE;
> -- 
> 2.43.0
> 

Acked-by: John Fastabend <john.fastab...@gmail.com>

Reply via email to