this patch fixes segmentation fault in pmd_cyclecount_bench_ops
function in case when state->opts->nb_descriptors is not
natural multiple of burst size.
To reproduce run: dpdk-test-crypto-perf with params:
  --ptest pmd-cyclecount --pmd-cyclecount-delay-ms 5
  --devtype crypto_qat --optype cipher-then-auth
  --cipher-algo aes-cbc --cipher-op encrypt
  --cipher-key-sz 16 --cipher-iv-sz 16
  --auth-algo sha2-256-hmac
  --auth-op generate --auth-key-sz 64 --digest-sz 32
  --total-ops 10000 --burst-sz 255 --buffer-sz 1024 --silent

Fixes: 96dfeb609be1 ("app/crypto-perf: add new PMD benchmarking mode")
Cc: Anatoly Burakov <anatoly.bura...@intel.com>
Cc: sta...@dpdk.org

Signed-off-by: Tomasz Jozwiak <tomaszx.jozw...@intel.com>
---
 app/test-crypto-perf/cperf_test_pmd_cyclecount.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app/test-crypto-perf/cperf_test_pmd_cyclecount.c 
b/app/test-crypto-perf/cperf_test_pmd_cyclecount.c
index 8f76160..c8d16db 100644
--- a/app/test-crypto-perf/cperf_test_pmd_cyclecount.c
+++ b/app/test-crypto-perf/cperf_test_pmd_cyclecount.c
@@ -145,7 +145,7 @@ pmd_cyclecount_bench_ops(struct pmd_cyclecount_state 
*state, uint32_t cur_op,
 
        for (cur_iter_op = 0; cur_iter_op < iter_ops_needed;
                        cur_iter_op += test_burst_size) {
-               uint32_t burst_size = RTE_MIN(state->opts->total_ops - cur_op,
+               uint32_t burst_size = RTE_MIN(iter_ops_needed - cur_iter_op,
                                test_burst_size);
                struct rte_crypto_op **ops = &state->ctx->ops[cur_iter_op];
 
-- 
2.7.4

Reply via email to