> -----Original Message-----
> From: David Marchand <david.march...@redhat.com>
> Sent: Wednesday, June 22, 2022 4:30 PM
> To: dev@dpdk.org
> Cc: Zhang, Roy Fan <roy.fan.zh...@intel.com>; Poczatek, Jakub
> <jakub.pocza...@intel.com>; Maxime Coquelin
> <maxime.coque...@redhat.com>; Xia, Chenbo <chenbo....@intel.com>
> Subject: [PATCH] vhost/crypto: fix descriptor processing
>
> copy_data was returning a pointer to an increased (off by one) descriptor.
> Subsequent calls to copy_data in the library were then failing.
> Fix this by incrementing the descriptor only if there is some left data
> to copy.
>
> Fixes: 7287660a21e0 ("vhost/crypto: fix build with GCC 12")
>
> Reported-by: Jakub Poczatek <jakub.pocza...@intel.com>
> Signed-off-by: David Marchand <david.march...@redhat.com>
> ---
> lib/vhost/vhost_crypto.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/lib/vhost/vhost_crypto.c b/lib/vhost/vhost_crypto.c
> index 96ffb82a5d..54946f46d9 100644
> --- a/lib/vhost/vhost_crypto.c
> +++ b/lib/vhost/vhost_crypto.c
> @@ -610,8 +610,7 @@ copy_data(void *data, struct vhost_crypto_data_req
> *vc_req,
> return -1;
> left -= copied;
> data = RTE_PTR_ADD(data, copied);
> - desc++;
> - } while (desc < head + max_n_descs && left != 0);
> + } while (left != 0 && ++desc < head + max_n_descs);
>
> if (unlikely(left != 0))
> return -1;
> --
> 2.36.1
Thanks David.
Acked-by: Fan Zhang <roy.fan.zh...@intel.com>