[PATCH] crypto/ipsec_mb: fix jobs array used for burst
Ji, Kai
kai.ji at intel.com
Wed Jul 5 12:23:03 CEST 2023
Acked-by: Kai Ji <kai.ji at intel.com<mailto:kai.ji at intel.com>>
________________________________
From: Power, Ciara <ciara.power at intel.com>
Sent: 05 July 2023 11:15
To: dev at dpdk.org <dev at dpdk.org>
Cc: gakhil at marvell.com <gakhil at marvell.com>; De Lara Guarch, Pablo <pablo.de.lara.guarch at intel.com>; Power, Ciara <ciara.power at intel.com>; Cornu, Marcel D <marcel.d.cornu at intel.com>; Ji, Kai <kai.ji at intel.com>
Subject: [PATCH] crypto/ipsec_mb: fix jobs array used for burst
The jobs variable was global, which meant it was not thread safe.
This casued a segmentation fault when running the crypto performance
app, using more than one lcore for crypto processing.
Moving this to the dequeue function where it is used fixes the issue.
Fixes: b50b8b5b38f8 ("crypto/ipsec_mb: use burst API in AESNI")
Cc: marcel.d.cornu at intel.com
Signed-off-by: Ciara Power <ciara.power at intel.com>
---
drivers/crypto/ipsec_mb/pmd_aesni_mb.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/drivers/crypto/ipsec_mb/pmd_aesni_mb.c b/drivers/crypto/ipsec_mb/pmd_aesni_mb.c
index f4322d9af4..f702127f7f 100644
--- a/drivers/crypto/ipsec_mb/pmd_aesni_mb.c
+++ b/drivers/crypto/ipsec_mb/pmd_aesni_mb.c
@@ -9,10 +9,6 @@ struct aesni_mb_op_buf_data {
uint32_t offset;
};
-#if IMB_VERSION(1, 2, 0) < IMB_VERSION_NUM
-static IMB_JOB *jobs[IMB_MAX_BURST_SIZE] = {NULL};
-#endif
-
/**
* Calculate the authentication pre-computes
*
@@ -2044,6 +2040,7 @@ aesni_mb_dequeue_burst(void *queue_pair, struct rte_crypto_op **ops,
IMB_JOB *job;
int retval, processed_jobs = 0;
uint16_t i, nb_jobs;
+ IMB_JOB *jobs[IMB_MAX_BURST_SIZE] = {NULL};
if (unlikely(nb_ops == 0 || mb_mgr == NULL))
return 0;
--
2.25.1
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mails.dpdk.org/archives/dev/attachments/20230705/50ec5409/attachment.htm>
More information about the dev
mailing list