On 10/13/2017 9:08 PM, alok.makhar...@nxp.com wrote:
From: Alok Makhariya <alok.makhar...@nxp.com>

The code would crash for segmented buffer if no check.

Fixes: 8d1f3a5d751b ("crypto/dpaa2_sec: support crypto operation")
Cc: sta...@dpdk.org

Signed-off-by: Alok Makhariya <alok.makhar...@nxp.com>
---
  drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c | 8 +++++++-
  1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c 
b/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c
index 672cacf..b33081c 100644
--- a/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c
+++ b/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c
@@ -551,7 +551,13 @@ build_sec_fd(dpaa2_sec_session *sess, struct rte_crypto_op 
*op,
        int ret = -1;
PMD_INIT_FUNC_TRACE();
-
+       /*
+        * Segmented buffer is not supported.
+        */
+       if (!rte_pktmbuf_is_contiguous(op->sym->m_src)) {
+               op->status = RTE_CRYPTO_OP_STATUS_ERROR;
+               return -ENOTSUP;
+       }
        switch (sess->ctxt_type) {
        case DPAA2_SEC_CIPHER:
                ret = build_cipher_fd(sess, op, fd, bpid);

Acked-by: Akhil Goyal <akhil.go...@nxp.com>

Reply via email to