From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 113C8A0562 for ; Thu, 18 Mar 2021 14:16:38 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 02C9B140ED3; Thu, 18 Mar 2021 14:16:38 +0100 (CET) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mails.dpdk.org (Postfix) with ESMTP id C8D0540698; Thu, 18 Mar 2021 14:16:34 +0100 (CET) IronPort-SDR: oRT2bohy0UUyT+7g+g3v7yuzflBQNYPcTkoIg0fp/C4cvo/euRcVqwx+EYunSeht+haxLwtMKd V2l1RNBmgINw== X-IronPort-AV: E=McAfee;i="6000,8403,9926"; a="187313845" X-IronPort-AV: E=Sophos;i="5.81,258,1610438400"; d="scan'208";a="187313845" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Mar 2021 06:16:33 -0700 IronPort-SDR: dXed2HrLSC0MEKF8xLyXKKehnXGqruBwym3YDCmssDISYlHHGEg6sLwjlcSQPXf+rC/UARMt6j jzigpHA5nmqA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,258,1610438400"; d="scan'208";a="523257960" Received: from silpixa00400308.ir.intel.com ([10.237.214.143]) by orsmga004.jf.intel.com with ESMTP; 18 Mar 2021 06:16:32 -0700 From: Arek Kusztal To: dev@dpdk.org Cc: gakhil@marvell.com, fiona.trahe@intel.com, declan.doherty@intel.com, Arek Kusztal , stable@dpdk.org Date: Thu, 18 Mar 2021 13:16:17 +0000 Message-Id: <20210318131617.24660-1-arkadiuszx.kusztal@intel.com> X-Mailer: git-send-email 2.17.1 Subject: [dpdk-stable] [PATCH] crypto/qat: fix to small sgl oop min offset X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Sender: "stable" This commit fixes problem with to small offset when both offsets (auth, cipher) are non zero in digest encrypt case, when using out-of-place and sgl. Fixes: 40002f6c2a24 ("crypto/qat: extend support for digest-encrypted auth-cipher") Cc: stable@dpdk.org Signed-off-by: Arek Kusztal --- drivers/crypto/qat/qat_sym.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/crypto/qat/qat_sym.c b/drivers/crypto/qat/qat_sym.c index 4b7676deb..a6cd33be3 100644 --- a/drivers/crypto/qat/qat_sym.c +++ b/drivers/crypto/qat/qat_sym.c @@ -162,6 +162,7 @@ qat_sym_build_request(void *in_op, uint8_t *out_msg, uint8_t do_sgl = 0; uint8_t in_place = 1; int alignment_adjustment = 0; + int oop_shift = 0; struct rte_crypto_op *op = (struct rte_crypto_op *)in_op; struct qat_sym_op_cookie *cookie = (struct qat_sym_op_cookie *)op_cookie; @@ -472,6 +473,7 @@ qat_sym_build_request(void *in_op, uint8_t *out_msg, rte_pktmbuf_iova_offset(op->sym->m_src, min_ofs); dst_buf_start = rte_pktmbuf_iova_offset(op->sym->m_dst, min_ofs); + oop_shift = min_ofs; } else { /* In-place operation @@ -532,7 +534,7 @@ qat_sym_build_request(void *in_op, uint8_t *out_msg, /* First find the end of the data */ if (do_sgl) { uint32_t remaining_off = auth_param->auth_off + - auth_param->auth_len + alignment_adjustment; + auth_param->auth_len + alignment_adjustment + oop_shift; struct rte_mbuf *sgl_buf = (in_place ? op->sym->m_src : op->sym->m_dst); -- 2.17.1