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 1DA2546FE2 for ; Mon, 8 Dec 2025 13:45:22 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 1027C402A0; Mon, 8 Dec 2025 13:45:22 +0100 (CET) Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.12]) by mails.dpdk.org (Postfix) with ESMTP id F1FE6402A0 for ; Mon, 8 Dec 2025 13:45:20 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1765197921; x=1796733921; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=kcwo37yuw5MpI8bei58SxupENy/KsF6xOK2QwMDf4HI=; b=NWC89UeogMj5Uun2aR8FhB8mqkaDInCaY7aU6kVNB+1VAzuft1prLmDD ADxTWPOTpQUY7dC7jzjdQ5b170mFGE+55LeZCExthKpVeiK5cGvXUydzO Av61WmnNeFRL7wrLtm0r0BchY7gt6FG6LnI+CfM0m3M1Cc7ozVT2Ss5Sh pvvhXzrpJ48j7znzSMTJ40vMNtyo2l09kX3hbl8suqX7KZBH/aFHU99oZ XohpFvHkl3/asSk8cRAkYMGQCXNeFVrxyiqkcRGBXzw33WhkpzjsFmZBY F6IG8X05llOtPh3nBA7JW1ciBnnvB8dhYT6oIcXRB3LVjHPO1UFA1gpDq g==; X-CSE-ConnectionGUID: /AfUsPiPRHGN5g4aSm5hYA== X-CSE-MsgGUID: dzzGUQbqQNqTWVJZNm5i7g== X-IronPort-AV: E=McAfee;i="6800,10657,11635"; a="78601878" X-IronPort-AV: E=Sophos;i="6.20,258,1758610800"; d="scan'208";a="78601878" Received: from orviesa010.jf.intel.com ([10.64.159.150]) by orvoesa104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Dec 2025 04:45:20 -0800 X-CSE-ConnectionGUID: Nc6F8zCCSyC7Qlk00M81Cw== X-CSE-MsgGUID: tBzJ6Vo3SDqC1AV4wJiibw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.20,258,1758610800"; d="scan'208";a="195203303" Received: from silpixa00401749.ir.intel.com ([10.20.224.233]) by orviesa010.jf.intel.com with ESMTP; 08 Dec 2025 04:45:18 -0800 From: Radu Nicolau To: stable@dpdk.org Cc: Radu Nicolau Subject: [PATCH 22.11] "crypto/qat: fix backported patch Date: Mon, 8 Dec 2025 12:45:15 +0000 Message-ID: <20251208124515.1043929-1-radu.nicolau@intel.com> X-Mailer: git-send-email 2.50.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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 Backported patch below was applied to the wrong QAT function. Fixes: 96a4318baabd ("crypto/qat: fix out-of-place chain/cipher/auth headers") Signed-off-by: Radu Nicolau --- drivers/crypto/qat/dev/qat_crypto_pmd_gen3.c | 26 ++++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/drivers/crypto/qat/dev/qat_crypto_pmd_gen3.c b/drivers/crypto/qat/dev/qat_crypto_pmd_gen3.c index 4a114a8a79..82c39f89cb 100644 --- a/drivers/crypto/qat/dev/qat_crypto_pmd_gen3.c +++ b/drivers/crypto/qat/dev/qat_crypto_pmd_gen3.c @@ -546,16 +546,19 @@ qat_sym_dp_enqueue_aead_jobs_gen3(void *qp_data, uint8_t *drv_ctx, for (i = 0; i < n; i++) { struct qat_sym_op_cookie *cookie = qp->op_cookies[tail >> tx_queue->trailz]; + int error = 0; req = (struct icp_qat_fw_la_bulk_req *)( (uint8_t *)tx_queue->base_addr + tail); rte_mov128((uint8_t *)req, (const uint8_t *)&(ctx->fw_req)); if (vec->dest_sgl) { - data_len = qat_sym_build_req_set_data(req, - user_data[i], cookie, - vec->src_sgl[i].vec, vec->src_sgl[i].num, - vec->dest_sgl[i].vec, vec->dest_sgl[i].num, NULL, NULL); + data_len = qat_reqs_mid_set(&error, req, cookie, user_data[i], + &vec->src_sgl[i], &vec->dest_sgl[i], ofs); + /* In oop there is no offset, src/dst addresses are moved + * to avoid overwriting the dst header + */ + ofs.ofs.cipher.head = 0; } else { data_len = qat_sym_build_req_set_data(req, user_data[i], cookie, @@ -563,7 +566,7 @@ qat_sym_dp_enqueue_aead_jobs_gen3(void *qp_data, uint8_t *drv_ctx, vec->src_sgl[i].num, NULL, 0, NULL, NULL); } - if (unlikely(data_len < 0)) + if (unlikely(data_len < 0) || error) break; enqueue_one_aead_job_gen3(ctx, req, &vec->iv[i], @@ -662,19 +665,16 @@ qat_sym_dp_enqueue_auth_jobs_gen3(void *qp_data, uint8_t *drv_ctx, for (i = 0; i < n; i++) { struct qat_sym_op_cookie *cookie = qp->op_cookies[tail >> tx_queue->trailz]; - int error = 0; req = (struct icp_qat_fw_la_bulk_req *)( (uint8_t *)tx_queue->base_addr + tail); rte_mov128((uint8_t *)req, (const uint8_t *)&(ctx->fw_req)); if (vec->dest_sgl) { - data_len = qat_reqs_mid_set(&error, req, cookie, user_data[i], - &vec->src_sgl[i], &vec->dest_sgl[i], ofs); - /* In oop there is no offset, src/dst addresses are moved - * to avoid overwriting the dst header - */ - ofs.ofs.cipher.head = 0; + data_len = qat_sym_build_req_set_data(req, + user_data[i], cookie, + vec->src_sgl[i].vec, vec->src_sgl[i].num, + vec->dest_sgl[i].vec, vec->dest_sgl[i].num, NULL, NULL); } else { data_len = qat_sym_build_req_set_data(req, user_data[i], cookie, @@ -682,7 +682,7 @@ qat_sym_dp_enqueue_auth_jobs_gen3(void *qp_data, uint8_t *drv_ctx, vec->src_sgl[i].num, NULL, 0, NULL, NULL); } - if (unlikely(data_len < 0) || error) + if (unlikely(data_len < 0)) break; if (ctx->qat_hash_alg == ICP_QAT_HW_AUTH_ALGO_NULL) { null_digest.iova = cookie->digest_null_phys_addr; -- 2.50.1