crypto/scheduler: fix incorrect variable usage
Checks
Commit Message
The variable `pending_deq_ops` was incorrectly used
instead of `pending_enq_ops`.
This causes the program to crash
when the worker PMD accesses the session
Bugzilla ID: 1537
Fixes: 6812b9bf470e ("crypto/scheduler: use unified session")
Cc: roy.fan.zhang@intel.com
Signed-off-by: Yong Liang <1269690261@qq.com>
---
drivers/crypto/scheduler/scheduler_multicore.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
Comments
I'm not see any issue with original code, can you give more details about crash so I can try to reproduce at my end.
cc kirill.rybalchenko@intel.com for review
> I'm not see any issue with original code, can you give more details about crash so
> I can try to reproduce at my end.
> cc kirill.rybalchenko@intel.com for review
The details are there in Bugzilla
https://bugs.dpdk.org/show_bug.cgi?id=1537
>
> ________________________________
>
> From: Yong Liang <1269690261@qq.com>
> Sent: 18 September 2024 15:15
> To: dev@dpdk.org <dev@dpdk.org>
> Cc: roy.fan.zhang@intel.com <roy.fan.zhang@intel.com>
> Subject: [PATCH] crypto/scheduler: fix incorrect variable usage
>
> The variable `pending_deq_ops` was incorrectly used
> instead of `pending_enq_ops`.
> This causes the program to crash
> when the worker PMD accesses the session
>
> Bugzilla ID: 1537
> Fixes: 6812b9bf470e ("crypto/scheduler: use unified session")
> Cc: roy.fan.zhang@intel.com
>
> Signed-off-by: Yong Liang <1269690261@qq.com>
> ---
> drivers/crypto/scheduler/scheduler_multicore.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/crypto/scheduler/scheduler_multicore.c
> b/drivers/crypto/scheduler/scheduler_multicore.c
> index a21b522f9f..70f8a25b70 100644
> --- a/drivers/crypto/scheduler/scheduler_multicore.c
> +++ b/drivers/crypto/scheduler/scheduler_multicore.c
> @@ -191,11 +191,11 @@ mc_scheduler_worker(struct rte_cryptodev *dev)
> worker->qp_id,
> &enq_ops[pending_enq_ops_idx],
> pending_enq_ops);
> - if (processed_ops < pending_deq_ops)
> + if (processed_ops < pending_enq_ops)
> scheduler_retrieve_sessions(
> &enq_ops[pending_enq_ops_idx +
> processed_ops],
> - pending_deq_ops - processed_ops);
> + pending_enq_ops - processed_ops);
> pending_enq_ops -= processed_ops;
> pending_enq_ops_idx += processed_ops;
> inflight_ops += processed_ops;
> --
> 2.43.0
>
@@ -191,11 +191,11 @@ mc_scheduler_worker(struct rte_cryptodev *dev)
worker->qp_id,
&enq_ops[pending_enq_ops_idx],
pending_enq_ops);
- if (processed_ops < pending_deq_ops)
+ if (processed_ops < pending_enq_ops)
scheduler_retrieve_sessions(
&enq_ops[pending_enq_ops_idx +
processed_ops],
- pending_deq_ops - processed_ops);
+ pending_enq_ops - processed_ops);
pending_enq_ops -= processed_ops;
pending_enq_ops_idx += processed_ops;
inflight_ops += processed_ops;