On 14/07/2017 7:48 AM, Pablo de Lara wrote:
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: [email protected] Signed-off-by: Pablo de Lara <[email protected]> --- 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);
Acked-by: Declan Doherty <[email protected]>

