* [dpdk-stable] [PATCH v3 04/15] crypto: fix raw process for multi-seg case
[not found] <20211013182720.32486-1-hemant.agrawal@nxp.com>
@ 2021-10-13 18:27 ` Hemant Agrawal
0 siblings, 0 replies; only message in thread
From: Hemant Agrawal @ 2021-10-13 18:27 UTC (permalink / raw)
To: dev, gakhil
Cc: roy.fan.zhang, konstantin.ananyev, Gagandeep Singh,
marcinx.smoczynski, stable
From: Gagandeep Singh <g.singh@nxp.com>
If no next segment available the “for” loop will fail and it still
returns i+1 i.e. 2, which is wrong as it has filled only 1 buffer.
Fixes: 7adf992fb9bf ("cryptodev: introduce CPU crypto API")
Cc: marcinx.smoczynski@intel.com
Cc: stable@dpdk.org
Signed-off-by: Gagandeep Singh <g.singh@nxp.com>
---
lib/cryptodev/rte_crypto_sym.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/lib/cryptodev/rte_crypto_sym.h b/lib/cryptodev/rte_crypto_sym.h
index 978708845f..a48228a646 100644
--- a/lib/cryptodev/rte_crypto_sym.h
+++ b/lib/cryptodev/rte_crypto_sym.h
@@ -1003,6 +1003,7 @@ rte_crypto_mbuf_to_vec(const struct rte_mbuf *mb, uint32_t ofs, uint32_t len,
vec[i].len = left;
vec[i].tot_len = mb->buf_len;
left = 0;
+ i++;
break;
}
@@ -1013,7 +1014,7 @@ rte_crypto_mbuf_to_vec(const struct rte_mbuf *mb, uint32_t ofs, uint32_t len,
}
RTE_ASSERT(left == 0);
- return i + 1;
+ return i;
}
--
2.17.1
^ permalink raw reply [flat|nested] only message in thread