dpdk-cryptodev: fix coverity issues 04/39404/2
authorPiotr Bronowski <piotrx.bronowski@intel.com>
Mon, 21 Aug 2023 13:36:38 +0000 (13:36 +0000)
committerDave Wallace <dwallacelf@gmail.com>
Tue, 22 Aug 2023 15:42:49 +0000 (15:42 +0000)
This patch addresses coverity issues CID 322716 and CID 322717.

Type: fix
Signed-off-by: Piotr Bronowski <piotrx.bronowski@intel.com>
Change-Id: I59d6f40c1af8e829d8cb3c042a52e144aeaf1e6b

src/plugins/dpdk/cryptodev/cryptodev.h
src/plugins/dpdk/cryptodev/cryptodev_op_data_path.c

index e7bdfc1..63eb46e 100644 (file)
@@ -293,7 +293,7 @@ cryptodev_mark_frame_fill_err (vnet_crypto_async_frame_t *f, u64 current_err,
   for (i = index; i < (index + n); i++)
     f->elts[i].status = op_s;
 
-  err |= (~(~(0u) << n) << index);
+  err |= (~(~(0ull) << n) << index);
 
   return err;
 }
index 4e4295a..29af2fa 100644 (file)
@@ -515,10 +515,13 @@ cryptodev_frame_dequeue_internal (vlib_main_t *vm, u32 *nb_elts_processed,
       fe[2].status = cryptodev_status_conversion[cop[2]->op.status];
       fe[3].status = cryptodev_status_conversion[cop[3]->op.status];
 
-      err0 |= (fe[0].status == VNET_CRYPTO_OP_STATUS_COMPLETED) << n;
-      err1 |= (fe[1].status == VNET_CRYPTO_OP_STATUS_COMPLETED) << (n + 1);
-      err2 |= (fe[2].status == VNET_CRYPTO_OP_STATUS_COMPLETED) << (n + 2);
-      err3 |= (fe[3].status == VNET_CRYPTO_OP_STATUS_COMPLETED) << (n + 3);
+      err0 |= ((u64) (fe[0].status == VNET_CRYPTO_OP_STATUS_COMPLETED)) << n;
+      err1 |= ((u64) (fe[1].status == VNET_CRYPTO_OP_STATUS_COMPLETED))
+             << (n + 1);
+      err2 |= ((u64) (fe[2].status == VNET_CRYPTO_OP_STATUS_COMPLETED))
+             << (n + 2);
+      err3 |= ((u64) (fe[3].status == VNET_CRYPTO_OP_STATUS_COMPLETED))
+             << (n + 3);
 
       cop += 4;
       fe += 4;