On 6/2/25 10:57 AM, Anastasia Belova wrote:
> s->pool has n_descs elements so maximum i should be
> n_descs - 1. Fix the upper bound.
> 
> Found by Linux Verification Center (linuxtesting.org) with SVACE.
> 
> Fixes: cb039ef3d9 ("net: add initial support for AF_XDP network backend")
> Signed-off-by: Anastasia Belova <nabelov...@gmail.com>
> ---
>  net/af-xdp.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/net/af-xdp.c b/net/af-xdp.c
> index 01c5fb914e..d022534d76 100644
> --- a/net/af-xdp.c
> +++ b/net/af-xdp.c
> @@ -323,7 +323,7 @@ static int af_xdp_umem_create(AFXDPState *s, int sock_fd, 
> Error **errp)
>  
>      s->pool = g_new(uint64_t, n_descs);
>      /* Fill the pool in the opposite order, because it's a LIFO queue. */
> -    for (i = n_descs; i >= 0; i--) {
> +    for (i = n_descs - 1; i >= 0; i--) {
>          s->pool[i] = i * XSK_UMEM__DEFAULT_FRAME_SIZE;
>      }
>      s->n_pool = n_descs;

As far as the fix goes:

Reviewed-by: Ilya Maximets <i.maxim...@ovn.org>


The loop itself though doesn't do what the comment says it should be doing,
but it's not related to this fix.  I'll send a separate patch for that.

Reply via email to