In the unlikely scenario that an application calls rte_cryptodev_dequeue_burst with nb_ops = 0, there was a job leak, as a job would be created but would not be populated, as no operation is passed.
Fixes: 0f548b50a160 ("crypto/aesni_mb: process crypto op on dequeue") Cc: sta...@dpdk.org Signed-off-by: Pablo de Lara <pablo.de.lara.gua...@intel.com> --- drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c b/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c index 13cffaf..fda662f 100644 --- a/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c +++ b/drivers/crypto/aesni_mb/rte_aesni_mb_pmd.c @@ -644,6 +644,9 @@ aesni_mb_pmd_dequeue_burst(void *queue_pair, struct rte_crypto_op **ops, int retval, processed_jobs = 0; + if (unlikely(nb_ops == 0)) + return 0; + do { /* Get next operation to process from ingress queue */ retval = rte_ring_dequeue(qp->ingress_queue, (void **)&op); -- 2.9.4