[dpdk-dev] vhost/crypto: fix build issue with GCC 4.7.2
Checks
Commit Message
Build error has been reported by Intel build system:
SUSE12SP3_64 / Linux 3.7.10-1 / GCC 4.7.2
lib/librte_vhost/vhost_crypto.c: In function ‘rte_vhost_crypto_set_zero_copy’:
lib/librte_vhost/vhost_crypto.c:1192:2: error: comparison of unsigned expression < 0 is always false [-Werror=type-limits]
As enums can be either signed or unsigned, this patch removes
the negative check and cast to unsigned the upper limit check.
Fixes: 939066d96563 ("vhost/crypto: add public function implementation")
Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
---
lib/librte_vhost/vhost_crypto.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
Comments
27/04/2018 11:04, Maxime Coquelin:
> Build error has been reported by Intel build system:
> SUSE12SP3_64 / Linux 3.7.10-1 / GCC 4.7.2
> lib/librte_vhost/vhost_crypto.c: In function ‘rte_vhost_crypto_set_zero_copy’:
> lib/librte_vhost/vhost_crypto.c:1192:2: error: comparison of unsigned expression < 0 is always false [-Werror=type-limits]
>
> As enums can be either signed or unsigned, this patch removes
> the negative check and cast to unsigned the upper limit check.
>
> Fixes: 939066d96563 ("vhost/crypto: add public function implementation")
>
> Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Applied, thanks
@@ -1189,8 +1189,8 @@ rte_vhost_crypto_set_zero_copy(int vid, enum rte_vhost_crypto_zero_copy option)
return -EINVAL;
}
- if (unlikely(option < 0 || option >=
- RTE_VHOST_CRYPTO_MAX_ZERO_COPY_OPTIONS)) {
+ if (unlikely((uint32_t)option >=
+ RTE_VHOST_CRYPTO_MAX_ZERO_COPY_OPTIONS)) {
VC_LOG_ERR("Invalid option %i", option);
return -EINVAL;
}