vhost/crypto: fix build with asserts
Checks
Commit Message
../lib/vhost/vhost_crypto.c: In function ‘virtio_crypto_asym_rsa_der_to_xform’:
../lib/vhost/vhost_crypto.c:538:42: warning: comparison of integer expressions
of different signedness: ‘long int’ and ‘size_t’ {aka ‘long unsigned int’}
[-Wsign-compare]
538 | RTE_ASSERT((tlv + len - &der[0]) == der_len);
| ^~
../lib/eal/include/rte_branch_prediction.h:43:45: note: in definition of macro
‘unlikely’
43 | #define unlikely(x) __builtin_expect(!!(x), 0)
| ^
../lib/eal/include/rte_debug.h:47:25: note: in expansion of macro ‘RTE_VERIFY’
47 | #define RTE_ASSERT(exp) RTE_VERIFY(exp)
| ^~~~~~~~~~
../lib/vhost/vhost_crypto.c:538:9: note: in expansion of macro ‘RTE_ASSERT’
538 | RTE_ASSERT((tlv + len - &der[0]) == der_len);
| ^~~~~~~~~~
Fixes: d1b484bf1876 ("vhost/crypto: support asymmetric RSA")
Signed-off-by: David Marchand <david.marchand@redhat.com>
---
lib/vhost/vhost_crypto.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Comments
On 3/5/25 10:43 AM, David Marchand wrote:
> ../lib/vhost/vhost_crypto.c: In function ‘virtio_crypto_asym_rsa_der_to_xform’:
> ../lib/vhost/vhost_crypto.c:538:42: warning: comparison of integer expressions
> of different signedness: ‘long int’ and ‘size_t’ {aka ‘long unsigned int’}
> [-Wsign-compare]
> 538 | RTE_ASSERT((tlv + len - &der[0]) == der_len);
> | ^~
> ../lib/eal/include/rte_branch_prediction.h:43:45: note: in definition of macro
> ‘unlikely’
> 43 | #define unlikely(x) __builtin_expect(!!(x), 0)
> | ^
> ../lib/eal/include/rte_debug.h:47:25: note: in expansion of macro ‘RTE_VERIFY’
> 47 | #define RTE_ASSERT(exp) RTE_VERIFY(exp)
> | ^~~~~~~~~~
> ../lib/vhost/vhost_crypto.c:538:9: note: in expansion of macro ‘RTE_ASSERT’
> 538 | RTE_ASSERT((tlv + len - &der[0]) == der_len);
> | ^~~~~~~~~~
>
> Fixes: d1b484bf1876 ("vhost/crypto: support asymmetric RSA")
>
> Signed-off-by: David Marchand <david.marchand@redhat.com>
> ---
> lib/vhost/vhost_crypto.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/lib/vhost/vhost_crypto.c b/lib/vhost/vhost_crypto.c
> index 8dd1806a39..3c6c5dc114 100644
> --- a/lib/vhost/vhost_crypto.c
> +++ b/lib/vhost/vhost_crypto.c
> @@ -535,7 +535,7 @@ virtio_crypto_asym_rsa_der_to_xform(uint8_t *der, size_t der_len,
> xform->rsa.qt.qInv.data = qinv;
> xform->rsa.qt.qInv.length = qinvlen;
>
> - RTE_ASSERT((tlv + len - &der[0]) == der_len);
> + RTE_ASSERT(tlv + len == der + der_len);
> return 0;
> }
>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Thanks,
Maxime
>
> Fixes: d1b484bf1876 ("vhost/crypto: support asymmetric RSA")
>
> Signed-off-by: David Marchand <david.marchand@redhat.com>
Tested-by: Gowrishankar Muthukrishnan <gmuthukrishn@marvell.com>
> -----Original Message-----
> From: David Marchand <david.marchand@redhat.com>
> Sent: Wednesday, March 5, 2025 11:43 AM
> To: dev@dpdk.org
> Cc: Maxime Coquelin <maxime.coquelin@redhat.com>; Chenbo Xia
> <chenbox@nvidia.com>; Akhil Goyal <gakhil@marvell.com>; Gowrishankar
> Muthukrishnan <gmuthukrishn@marvell.com>
> Subject: [PATCH] vhost/crypto: fix build with asserts
>
> ../lib/vhost/vhost_crypto.c: In function ‘virtio_crypto_asym_rsa_der_to_xform’:
> ../lib/vhost/vhost_crypto.c:538:42: warning: comparison of integer expressions
> of different signedness: ‘long int’ and ‘size_t’ {aka ‘long unsigned int’}
> [-Wsign-compare]
> 538 | RTE_ASSERT((tlv + len - &der[0]) == der_len);
> | ^~
> ../lib/eal/include/rte_branch_prediction.h:43:45: note: in definition of macro
> ‘unlikely’
> 43 | #define unlikely(x) __builtin_expect(!!(x), 0)
> | ^
> ../lib/eal/include/rte_debug.h:47:25: note: in expansion of macro ‘RTE_VERIFY’
> 47 | #define RTE_ASSERT(exp) RTE_VERIFY(exp)
> | ^~~~~~~~~~
> ../lib/vhost/vhost_crypto.c:538:9: note: in expansion of macro ‘RTE_ASSERT’
> 538 | RTE_ASSERT((tlv + len - &der[0]) == der_len);
> | ^~~~~~~~~~
>
> Fixes: d1b484bf1876 ("vhost/crypto: support asymmetric RSA")
>
> Signed-off-by: David Marchand <david.marchand@redhat.com>
> ---
Tested-by: Ali Alnubani <alialnu@nvidia.com>
Thanks!
- Ali
05/03/2025 10:48, Maxime Coquelin:
>
> On 3/5/25 10:43 AM, David Marchand wrote:
> > ../lib/vhost/vhost_crypto.c: In function ‘virtio_crypto_asym_rsa_der_to_xform’:
> > ../lib/vhost/vhost_crypto.c:538:42: warning: comparison of integer expressions
> > of different signedness: ‘long int’ and ‘size_t’ {aka ‘long unsigned int’}
> > [-Wsign-compare]
> > 538 | RTE_ASSERT((tlv + len - &der[0]) == der_len);
> > | ^~
> > ../lib/eal/include/rte_branch_prediction.h:43:45: note: in definition of macro
> > ‘unlikely’
> > 43 | #define unlikely(x) __builtin_expect(!!(x), 0)
> > | ^
> > ../lib/eal/include/rte_debug.h:47:25: note: in expansion of macro ‘RTE_VERIFY’
> > 47 | #define RTE_ASSERT(exp) RTE_VERIFY(exp)
> > | ^~~~~~~~~~
> > ../lib/vhost/vhost_crypto.c:538:9: note: in expansion of macro ‘RTE_ASSERT’
> > 538 | RTE_ASSERT((tlv + len - &der[0]) == der_len);
> > | ^~~~~~~~~~
> >
> > Fixes: d1b484bf1876 ("vhost/crypto: support asymmetric RSA")
> >
> > Signed-off-by: David Marchand <david.marchand@redhat.com>
> > ---
> > lib/vhost/vhost_crypto.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/lib/vhost/vhost_crypto.c b/lib/vhost/vhost_crypto.c
> > index 8dd1806a39..3c6c5dc114 100644
> > --- a/lib/vhost/vhost_crypto.c
> > +++ b/lib/vhost/vhost_crypto.c
> > @@ -535,7 +535,7 @@ virtio_crypto_asym_rsa_der_to_xform(uint8_t *der, size_t der_len,
> > xform->rsa.qt.qInv.data = qinv;
> > xform->rsa.qt.qInv.length = qinvlen;
> >
> > - RTE_ASSERT((tlv + len - &der[0]) == der_len);
> > + RTE_ASSERT(tlv + len == der + der_len);
> > return 0;
> > }
> >
>
> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Applied, thanks.
@@ -535,7 +535,7 @@ virtio_crypto_asym_rsa_der_to_xform(uint8_t *der, size_t der_len,
xform->rsa.qt.qInv.data = qinv;
xform->rsa.qt.qInv.length = qinvlen;
- RTE_ASSERT((tlv + len - &der[0]) == der_len);
+ RTE_ASSERT(tlv + len == der + der_len);
return 0;
}