dpdk/0317-crypto-ipsec_mb-fix-build-with-GCC-12.patch
jiangheng12 7b9cc4c5a2 fix build with GCC 12
(cherry picked from commit d1c19aae07fc1940cea32a797e9bc9b23377f317)
2023-07-12 19:51:01 +08:00

74 lines
2.7 KiB
Diff
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

From c86456efc916bff6ecb9b6ab9664c9409d1a3fe2 Mon Sep 17 00:00:00 2001
From: David Marchand <david.marchand@redhat.com>
Date: Wed, 18 May 2022 12:16:48 +0200
Subject: [PATCH] crypto/ipsec_mb: fix build with GCC 12
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
[ upstream commit 468f31eb71c4c2aa454841b316766514cabd0f02 ]
GCC 12 raises the following warning:
In function __rte_ring_enqueue_elems_64,
inlined from __rte_ring_enqueue_elems at
../lib/ring/rte_ring_elem_pvt.h:130:3,
inlined from __rte_ring_do_hts_enqueue_elem at
../lib/ring/rte_ring_hts_elem_pvt.h:196:3,
inlined from rte_ring_mp_hts_enqueue_burst_elem at
../lib/ring/rte_ring_hts.h:110:9,
inlined from rte_ring_enqueue_burst_elem at
../lib/ring/rte_ring_elem.h:577:10,
inlined from rte_ring_enqueue_burst at
../lib/ring/rte_ring.h:738:9,
inlined from process_op_bit at
../drivers/crypto/ipsec_mb/pmd_snow3g.c:425:16,
inlined from snow3g_pmd_dequeue_burst at
../drivers/crypto/ipsec_mb/pmd_snow3g.c:484:20:
../lib/ring/rte_ring_elem_pvt.h:68:44: error: array subscript 1 is
outside array bounds of struct rte_crypto_op[0]
[-Werror=array-bounds]
68 | ring[idx + 1] = obj[i + 1];
| ~~~^~~~~~~
../drivers/crypto/ipsec_mb/pmd_snow3g.c: In function
snow3g_pmd_dequeue_burst:
../drivers/crypto/ipsec_mb/pmd_snow3g.c:434:1: note:
at offset 8 into object op of size 8
434 | snow3g_pmd_dequeue_burst(void *queue_pair,
| ^~~~~~~~~~~~~~~~~~~~~~~~
Validate that one (exactly) op has been processed or return early.
Fixes: b537abdbee74 ("crypto/snow3g: support bit-level operations")
Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
---
drivers/crypto/ipsec_mb/pmd_snow3g.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/drivers/crypto/ipsec_mb/pmd_snow3g.c b/drivers/crypto/ipsec_mb/pmd_snow3g.c
index ebc9a0b562..9a85f46721 100644
--- a/drivers/crypto/ipsec_mb/pmd_snow3g.c
+++ b/drivers/crypto/ipsec_mb/pmd_snow3g.c
@@ -422,12 +422,13 @@ process_op_bit(struct rte_crypto_op *op, struct snow3g_session *session,
op->sym->session = NULL;
}
- enqueued_op = rte_ring_enqueue_burst(qp->ingress_queue,
- (void **)&op, processed_op, NULL);
+ if (unlikely(processed_op != 1))
+ return 0;
+ enqueued_op = rte_ring_enqueue(qp->ingress_queue, op);
qp->stats.enqueued_count += enqueued_op;
*accumulated_enqueued_ops += enqueued_op;
- return enqueued_op;
+ return 1;
}
static uint16_t
--
2.23.0