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 9C86F46A9C for ; Mon, 30 Jun 2025 14:26:34 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 94F0E4025D; Mon, 30 Jun 2025 14:26:34 +0200 (CEST) Received: from mail-wr1-f44.google.com (mail-wr1-f44.google.com [209.85.221.44]) by mails.dpdk.org (Postfix) with ESMTP id 691864025D for ; Mon, 30 Jun 2025 14:26:33 +0200 (CEST) Received: by mail-wr1-f44.google.com with SMTP id ffacd0b85a97d-3a588da60dfso1251109f8f.1 for ; Mon, 30 Jun 2025 05:26:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1751286393; x=1751891193; darn=dpdk.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=pwAVd5lPRYzSBzTEF/VEDYPiy+9TSe4qQ6GuEAFy3xU=; b=NigZDay3z7yj8F6mM5UOSMpjLepJugeITtofpwvCBiuzQiSRtoDVDkeDSPAsfB8gYa LCsDi8MmfA6Iu2Scq3O3cd3L1F7dx45bafRvuWRs42+AaZMgcMVXoIlM3rZOszbFfmw8 VFo9nPdnTgG2wg8A1P2XcQVzLrJT9CrUugxyCjhop88CPZsfgFKdy6AKHJ0hnl0VyI+X gxNgsaZZrmsfBO8cQVZGBo0a2tv6Ngl+cMFfEsHt9Yy6dcUDw9/jWt5SDKBsoPxhBDEI Fb35LsYaol/oGwEPSbzDBczx5s6E1J9EuVw9Q/255ZEdkYiBtnEwViPK2k+wJQRO1yUk ISCA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751286393; x=1751891193; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=pwAVd5lPRYzSBzTEF/VEDYPiy+9TSe4qQ6GuEAFy3xU=; b=Z1DKoLR/rF3OaM5qCESbV6eOt1xk7endGKEH1AeaiGCfeAz3Eav4SKZvRG5VinHL5z g3TYgbbom5V0w7lyi7bLgt7FCvgBxHmjzDMf1DDFLPJQ/W6YBrypwX6T3JB8cVUM6AJ3 BGdNnwXYLv0tX3tJW/3g2F/Ou90MPg3k8MqPIa/3eeXaadgovq93A3bEHBm37pBkYSGp FzUNdOnTLfCv+GB4IEy3pp5KtZrhaLx1KAaxeSr8zQdP9cA+jQ9Hj81RLSpluPkPue0Z iFvbekvwD1DxL8+YFp68QzTDjqyNM0AaSscNGLsWDQXyXP3TGIms7VPSfrtIvB+XRLoV i/YQ== X-Forwarded-Encrypted: i=1; AJvYcCVZrbjTz6geU6ZKeRisn6ktW7NctpvlhpQYZfys0GNYkSLpQG1WJYri6IapeWrePGDHcidixnk=@dpdk.org X-Gm-Message-State: AOJu0YwpcZKZkEsKIs4OWwD45KrBbhmRO5GN/A7YNIajnBBt/q5YNxPZ jcudEKiIzB/I+r7+GHmyYZXrgMG9iSXxo5pfJAPCk5Fnh9GBmEG4gvYf X-Gm-Gg: ASbGncsRgmh6GzgCas8oPKuzXUnu465N20Oogt70FU3TsVLhbBFZGF4r+u5mu/0RFey lEzs7a9aK4BBApKvSO/EviUHC3957mB6FDIaObteMwVNB7+wvbRUAZedz3ncL7tkFtjt9ZOSjRc yMLS6O/lD3xZ0lrkck5gOpNTS4/15zSd032Tv6XfJbvzhVjAcqVq/5VS/SHCsTaKY/xfJF4cnoX u2K/894KQwvmogW/sS129QNhiCosnthUNlIJAtrahdzaue5hWAIYorQpEybsvEEP0KqVDYFrSHV jATtUMvF59LfDjBhSWnmXEhik/4Plu8Lh2eZLpa3AxFZgRImk4xe2GBRt2hcoUjVoqo= X-Google-Smtp-Source: AGHT+IGeA99xlbNB761Fyf7iJoeIdsfgUBOznIgoYJdW89rYCDMDqpBrt2XtfTsiI+2l8qExuqrItw== X-Received: by 2002:adf:e00b:0:b0:3a4:ddde:13e4 with SMTP id ffacd0b85a97d-3a8ffeb43fbmr7304411f8f.58.1751286392812; Mon, 30 Jun 2025 05:26:32 -0700 (PDT) Received: from localhost ([2a01:4b00:d036:ae00:ded1:f637:68f:c2a6]) by smtp.gmail.com with UTF8SMTPSA id ffacd0b85a97d-3a892e52a35sm10447215f8f.57.2025.06.30.05.26.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 30 Jun 2025 05:26:32 -0700 (PDT) From: luca.boccassi@gmail.com To: Radu Nicolau Cc: Kai Ji , dpdk stable Subject: patch 'crypto/qat: fix out-of-place chain/cipher/auth headers' has been queued to stable release 22.11.9 Date: Mon, 30 Jun 2025 13:25:42 +0100 Message-ID: <20250630122556.1133654-12-luca.boccassi@gmail.com> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250630122556.1133654-1-luca.boccassi@gmail.com> References: <20250612210733.2506558-72-luca.boccassi@gmail.com> <20250630122556.1133654-1-luca.boccassi@gmail.com> 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 Hi, FYI, your patch has been queued to stable release 22.11.9 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 07/02/25. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/96a4318baabd605091d45bb8a9391abfe4f6fbf9 Thanks. Luca Boccassi --- >From 96a4318baabd605091d45bb8a9391abfe4f6fbf9 Mon Sep 17 00:00:00 2001 From: Radu Nicolau Date: Thu, 12 Jun 2025 10:14:14 +0000 Subject: [PATCH] crypto/qat: fix out-of-place chain/cipher/auth headers [ upstream commit 068acf11cec0597735c9d82c8f4972251c736717 ] Extend the original fix to gen3 and gen4 code. Fixes: 317d05f3721c ("crypto/qat: fix out-of-place chain/cipher/auth headers") Signed-off-by: Radu Nicolau Acked-by: Kai Ji --- drivers/crypto/qat/dev/qat_crypto_pmd_gen3.c | 13 ++++++++----- drivers/crypto/qat/dev/qat_crypto_pmd_gen4.c | 13 ++++++++----- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/drivers/crypto/qat/dev/qat_crypto_pmd_gen3.c b/drivers/crypto/qat/dev/qat_crypto_pmd_gen3.c index 84d58accc7..989caabf17 100644 --- a/drivers/crypto/qat/dev/qat_crypto_pmd_gen3.c +++ b/drivers/crypto/qat/dev/qat_crypto_pmd_gen3.c @@ -662,16 +662,19 @@ 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_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); + 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, @@ -679,7 +682,7 @@ qat_sym_dp_enqueue_auth_jobs_gen3(void *qp_data, uint8_t *drv_ctx, vec->src_sgl[i].num, NULL, 0); } - if (unlikely(data_len < 0)) + if (unlikely(data_len < 0) || error) break; if (ctx->qat_hash_alg == ICP_QAT_HW_AUTH_ALGO_NULL) { null_digest.iova = cookie->digest_null_phys_addr; diff --git a/drivers/crypto/qat/dev/qat_crypto_pmd_gen4.c b/drivers/crypto/qat/dev/qat_crypto_pmd_gen4.c index 52218e5a0a..1ffc4528cf 100644 --- a/drivers/crypto/qat/dev/qat_crypto_pmd_gen4.c +++ b/drivers/crypto/qat/dev/qat_crypto_pmd_gen4.c @@ -409,16 +409,19 @@ qat_sym_dp_enqueue_aead_jobs_gen4(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); + 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, @@ -426,7 +429,7 @@ qat_sym_dp_enqueue_aead_jobs_gen4(void *qp_data, uint8_t *drv_ctx, vec->src_sgl[i].num, NULL, 0); } - if (unlikely(data_len < 0)) + if (unlikely(data_len < 0) || error) break; enqueue_one_aead_job_gen4(ctx, req, &vec->iv[i], -- 2.47.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2025-06-30 13:21:22.222105725 +0100 +++ 0012-crypto-qat-fix-out-of-place-chain-cipher-auth-header.patch 2025-06-30 13:21:21.751057449 +0100 @@ -1 +1 @@ -From 068acf11cec0597735c9d82c8f4972251c736717 Mon Sep 17 00:00:00 2001 +From 96a4318baabd605091d45bb8a9391abfe4f6fbf9 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 068acf11cec0597735c9d82c8f4972251c736717 ] + @@ -9 +10,0 @@ -Cc: stable@dpdk.org @@ -19 +20 @@ -index 478e766b97..428430882d 100644 +index 84d58accc7..989caabf17 100644 @@ -22 +23 @@ -@@ -643,16 +643,19 @@ qat_sym_dp_enqueue_aead_jobs_gen3(void *qp_data, uint8_t *drv_ctx, +@@ -662,16 +662,19 @@ qat_sym_dp_enqueue_auth_jobs_gen3(void *qp_data, uint8_t *drv_ctx, @@ -46 +47 @@ -@@ -660,7 +663,7 @@ qat_sym_dp_enqueue_aead_jobs_gen3(void *qp_data, uint8_t *drv_ctx, +@@ -679,7 +682,7 @@ qat_sym_dp_enqueue_auth_jobs_gen3(void *qp_data, uint8_t *drv_ctx, @@ -53,2 +54,2 @@ - - enqueue_one_aead_job_gen3(ctx, req, &vec->iv[i], + if (ctx->qat_hash_alg == ICP_QAT_HW_AUTH_ALGO_NULL) { + null_digest.iova = cookie->digest_null_phys_addr; @@ -56 +57 @@ -index 6a5d6e78b9..638da1a173 100644 +index 52218e5a0a..1ffc4528cf 100644 @@ -59 +60 @@ -@@ -418,16 +418,19 @@ qat_sym_dp_enqueue_aead_jobs_gen4(void *qp_data, uint8_t *drv_ctx, +@@ -409,16 +409,19 @@ qat_sym_dp_enqueue_aead_jobs_gen4(void *qp_data, uint8_t *drv_ctx, @@ -83 +84 @@ -@@ -435,7 +438,7 @@ qat_sym_dp_enqueue_aead_jobs_gen4(void *qp_data, uint8_t *drv_ctx, +@@ -426,7 +429,7 @@ qat_sym_dp_enqueue_aead_jobs_gen4(void *qp_data, uint8_t *drv_ctx,