[dpdk-dev] [PATCH] crypto/qat: fix truncated response ring value

Fiona Trahe fiona.trahe at intel.com
Mon Jan 29 19:33:40 CET 2018


Issue detected by coverity. Could never actually cause a
problem as truncated value (0x7f7f7f7f->0x7f) is what's needed.
But fix in code for correctness.

Fixes: 571365dd4c5e ("crypto/qat: enable Rx head writes coalescing")
Cc: stable at dpdk.org

Signed-off-by: Fiona Trahe <fiona.trahe at intel.com>
---
 drivers/crypto/qat/qat_adf/adf_transport_access_macros.h | 1 +
 drivers/crypto/qat/qat_crypto.c                          | 6 +++---
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/crypto/qat/qat_adf/adf_transport_access_macros.h b/drivers/crypto/qat/qat_adf/adf_transport_access_macros.h
index d218f85..4f8f3d1 100644
--- a/drivers/crypto/qat/qat_adf/adf_transport_access_macros.h
+++ b/drivers/crypto/qat/qat_adf/adf_transport_access_macros.h
@@ -80,6 +80,7 @@
 #define ADF_RING_NEAR_WATERMARK_512 0x08
 #define ADF_RING_NEAR_WATERMARK_0 0x00
 #define ADF_RING_EMPTY_SIG 0x7F7F7F7F
+#define ADF_RING_EMPTY_SIG_BYTE 0x7F
 
 /* Valid internal ring size values */
 #define ADF_RING_SIZE_128 0x01
diff --git a/drivers/crypto/qat/qat_crypto.c b/drivers/crypto/qat/qat_crypto.c
index 61760b6..2315b67 100644
--- a/drivers/crypto/qat/qat_crypto.c
+++ b/drivers/crypto/qat/qat_crypto.c
@@ -1010,10 +1010,10 @@ void rxq_free_desc(struct qat_qp *qp, struct qat_queue *q)
 	void *cur_desc = (uint8_t *)q->base_addr + old_head;
 
 	if (new_head < old_head) {
-		memset(cur_desc, ADF_RING_EMPTY_SIG, max_head - old_head);
-		memset(q->base_addr, ADF_RING_EMPTY_SIG, new_head);
+		memset(cur_desc, ADF_RING_EMPTY_SIG_BYTE, max_head - old_head);
+		memset(q->base_addr, ADF_RING_EMPTY_SIG_BYTE, new_head);
 	} else {
-		memset(cur_desc, ADF_RING_EMPTY_SIG, new_head - old_head);
+		memset(cur_desc, ADF_RING_EMPTY_SIG_BYTE, new_head - old_head);
 	}
 	q->nb_processed_responses = 0;
 	q->csr_head = new_head;
-- 
2.7.4



More information about the dev mailing list