[dpdk-dev] vhost/crypto: fix build issue with GCC 4.7.2

Message ID 20180427090438.31506-1-maxime.coquelin@redhat.com (mailing list archive)
State Accepted, archived
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Maxime Coquelin April 27, 2018, 9:04 a.m. UTC
  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

Thomas Monjalon April 27, 2018, 9:25 a.m. UTC | #1
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
  

Patch

diff --git a/lib/librte_vhost/vhost_crypto.c b/lib/librte_vhost/vhost_crypto.c
index c38eb3bb5..c6fb2fe5f 100644
--- a/lib/librte_vhost/vhost_crypto.c
+++ b/lib/librte_vhost/vhost_crypto.c
@@ -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;
 	}