[v2,3/5] eventdev/crypto: fix wrong offset used while flushing events

Message ID 20221201064652.1885734-3-ganapati.kundapura@intel.com (mailing list archive)
State Superseded, archived
Delegated to: Jerin Jacob
Headers
Series [v2,1/5] eventdev/event_crypto: process event port's impl rel cap |

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

Ganapati Kundapura Dec. 1, 2022, 6:46 a.m. UTC
  Events enqueued to eventdev from the beginning of the circular buffer.
This leads to invalid or already freed events getting enqueued to eventdev
from the circular buffer.

Fixed by enqueuing the events to eventdev from the head pointer of
circular buffer.

Fixes: 7901eac3409a ("eventdev: add crypto adapter implementation")

Signed-off-by: Ganapati Kundapura <ganapati.kundapura@intel.com>
---
v2:
* Updated subject line in commit message
  

Comments

Volodymyr Fialko Dec. 5, 2022, 11:35 a.m. UTC | #1
> -----Original Message-----
> From: Ganapati Kundapura <ganapati.kundapura@intel.com>
> Sent: Thursday, December 1, 2022 7:47 AM
> To: dev@dpdk.org; Jerin Jacob Kollanukkaran <jerinj@marvell.com>; s.v.naga.harish.k@intel.com;
> abhinandan.gujjar@intel.com
> Cc: jay.jayatheerthan@intel.com
> Subject: [EXT] [PATCH v2 3/5] eventdev/crypto: fix wrong offset used while flushing events
> 
> External Email
> 
> ----------------------------------------------------------------------
> Events enqueued to eventdev from the beginning of the circular buffer.
> This leads to invalid or already freed events getting enqueued to eventdev from the circular buffer.
> 
> Fixed by enqueuing the events to eventdev from the head pointer of circular buffer.
> 
> Fixes: 7901eac3409a ("eventdev: add crypto adapter implementation")
> 
> Signed-off-by: Ganapati Kundapura <ganapati.kundapura@intel.com>
> ---
Acked-by: Volodymyr Fialko <vfialko@marvell.com>
  
Gujjar, Abhinandan S Dec. 6, 2022, 4:17 p.m. UTC | #2
Acked-by: Abhinandan Gujjar <abhinandan.gujjar@intel.com>

> -----Original Message-----
> From: Kundapura, Ganapati <ganapati.kundapura@intel.com>
> Sent: Thursday, December 1, 2022 12:17 PM
> To: dev@dpdk.org; jerinj@marvell.com; Naga Harish K, S V
> <s.v.naga.harish.k@intel.com>; Gujjar, Abhinandan S
> <abhinandan.gujjar@intel.com>
> Cc: Jayatheerthan, Jay <jay.jayatheerthan@intel.com>
> Subject: [PATCH v2 3/5] eventdev/crypto: fix wrong offset used while flushing
> events
> 
> Events enqueued to eventdev from the beginning of the circular buffer.
> This leads to invalid or already freed events getting enqueued to eventdev
> from the circular buffer.
> 
> Fixed by enqueuing the events to eventdev from the head pointer of circular
> buffer.
> 
> Fixes: 7901eac3409a ("eventdev: add crypto adapter implementation")
> 
> Signed-off-by: Ganapati Kundapura <ganapati.kundapura@intel.com>
> ---
> v2:
> * Updated subject line in commit message
> 
> diff --git a/lib/eventdev/rte_event_crypto_adapter.c
> b/lib/eventdev/rte_event_crypto_adapter.c
> index ef3dbe9..72deedd 100644
> --- a/lib/eventdev/rte_event_crypto_adapter.c
> +++ b/lib/eventdev/rte_event_crypto_adapter.c
> @@ -669,7 +669,7 @@ eca_circular_buffer_flush_to_evdev(struct
> event_crypto_adapter *adapter,
>  	else
>  		return 0;  /* buffer empty */
> 
> -	nb_ops_flushed =  eca_ops_enqueue_burst(adapter, ops, n);
> +	nb_ops_flushed =  eca_ops_enqueue_burst(adapter, &ops[*headp],
> n);
>  	bufp->count -= nb_ops_flushed;
>  	if (!bufp->count) {
>  		*headp = 0;
> --
> 2.6.4
  

Patch

diff --git a/lib/eventdev/rte_event_crypto_adapter.c b/lib/eventdev/rte_event_crypto_adapter.c
index ef3dbe9..72deedd 100644
--- a/lib/eventdev/rte_event_crypto_adapter.c
+++ b/lib/eventdev/rte_event_crypto_adapter.c
@@ -669,7 +669,7 @@  eca_circular_buffer_flush_to_evdev(struct event_crypto_adapter *adapter,
 	else
 		return 0;  /* buffer empty */
 
-	nb_ops_flushed =  eca_ops_enqueue_burst(adapter, ops, n);
+	nb_ops_flushed =  eca_ops_enqueue_burst(adapter, &ops[*headp], n);
 	bufp->count -= nb_ops_flushed;
 	if (!bufp->count) {
 		*headp = 0;