From patchwork Tue Oct 4 12:55:01 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Power, Ciara" X-Patchwork-Id: 117310 X-Patchwork-Delegate: gakhil@marvell.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id B7F89A0543; Tue, 4 Oct 2022 14:55:21 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 77621427F1; Tue, 4 Oct 2022 14:55:18 +0200 (CEST) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by mails.dpdk.org (Postfix) with ESMTP id 122A640DFB for ; Tue, 4 Oct 2022 14:55:16 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1664888117; x=1696424117; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=rd8n5M3upaod8BBL8bLBCnEAC3KLFG4ESEI92v5g6L0=; b=K1oJwQkxjtbgXgCbZ8guB61YS1yRlnVxD3H8Y44++HX+jcQKmvYD+cYm v2OnkFsbRxuJHSCzW95pPoCT3g+WQnUjV6TdThe/gmHRRg8/+GR7Sj01E 2xQUmOF0yngBqIDpgnm2qegfOAfi4zlEGZELe5f0x9JecXQMxbZRgBR51 8uGxuVJ81nx93BbtzznxhpW272iKxna8MO9PocQczFQJp0wO81fSAcAIq Laxu8Q6ktj4ggCxoVQwbzAwbVWbiBzrWOfP3ORw1D3nE+I49Lw8/gDRGg COcz1OJiJ+K7hMivQfi1YewggyOTsfDP2z96Yxu41Q2lsGJlgrDZqbgjw g==; X-IronPort-AV: E=McAfee;i="6500,9779,10490"; a="366996714" X-IronPort-AV: E=Sophos;i="5.93,157,1654585200"; d="scan'208";a="366996714" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Oct 2022 05:55:16 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10490"; a="799106343" X-IronPort-AV: E=Sophos;i="5.93,157,1654585200"; d="scan'208";a="799106343" Received: from silpixa00400355.ir.intel.com (HELO silpixa00400355.ger.corp.intel.com) ([10.237.222.163]) by orsmga005.jf.intel.com with ESMTP; 04 Oct 2022 05:55:14 -0700 From: Ciara Power To: Akhil Goyal , Fan Zhang Cc: dev@dpdk.org, kai.ji@intel.com, pablo.de.lara.guarch@intel.com, Ciara Power , Fan Zhang Subject: [PATCH v4 1/5] test/crypto: fix wireless auth digest segment Date: Tue, 4 Oct 2022 12:55:01 +0000 Message-Id: <20221004125505.677795-2-ciara.power@intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221004125505.677795-1-ciara.power@intel.com> References: <20220812132334.75707-1-ciara.power@intel.com> <20221004125505.677795-1-ciara.power@intel.com> MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org The segment size for some tests was too small to hold the auth digest. This caused issues when using op->sym->auth.digest.data for comparisons in AESNI_MB PMD after a subsequent patch enables SGL. For example, if segment size is 2, and digest size is 4, then 4 bytes are read from op->sym->auth.digest.data, which overflows into the memory after the segment, rather than using the second segment that contains the remaining half of the digest. Fixes: 11c5485bb276 ("test/crypto: add scatter-gather tests for IP and OOP") Signed-off-by: Ciara Power Acked-by: Fan Zhang Acked-by: Pablo de Lara --- v4: Added failure check when appending digest size to buffer. --- app/test/test_cryptodev.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/app/test/test_cryptodev.c b/app/test/test_cryptodev.c index 0c39b16b71..799eff0649 100644 --- a/app/test/test_cryptodev.c +++ b/app/test/test_cryptodev.c @@ -3051,6 +3051,16 @@ create_wireless_algo_auth_cipher_operation( remaining_off -= rte_pktmbuf_data_len(sgl_buf); sgl_buf = sgl_buf->next; } + + /* The last segment should be large enough to hold full digest */ + if (sgl_buf->data_len < auth_tag_len) { + rte_pktmbuf_free(sgl_buf->next); + sgl_buf->next = NULL; + TEST_ASSERT_NOT_NULL(rte_pktmbuf_append(sgl_buf, + auth_tag_len - sgl_buf->data_len), + "No room to append auth tag"); + } + sym_op->auth.digest.data = rte_pktmbuf_mtod_offset(sgl_buf, uint8_t *, remaining_off); sym_op->auth.digest.phys_addr = rte_pktmbuf_iova_offset(sgl_buf,