From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5C53CC3ABBE for ; Thu, 8 May 2025 19:41:48 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A4C8B6B00A4; Thu, 8 May 2025 15:41:41 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 9D08B6B00A6; Thu, 8 May 2025 15:41:41 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 624B66B00A7; Thu, 8 May 2025 15:41:41 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 4240E6B00A1 for ; Thu, 8 May 2025 15:41:41 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 5443ABB518 for ; Thu, 8 May 2025 19:41:42 +0000 (UTC) X-FDA: 83420760444.18.9FF0708 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.17]) by imf01.hostedemail.com (Postfix) with ESMTP id 19EC940002 for ; Thu, 8 May 2025 19:41:39 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=FWQyrU0S; dmarc=pass (policy=none) header.from=intel.com; spf=pass (imf01.hostedemail.com: domain of kanchana.p.sridhar@intel.com designates 192.198.163.17 as permitted sender) smtp.mailfrom=kanchana.p.sridhar@intel.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1746733300; a=rsa-sha256; cv=none; b=h+5TGji3DlMxdpehfz457ZiW2OqnRlOskEhr5rQ/Jsy0aX7iOR2McPFKD0m3LRB6qpGqxm RI058PT6E0EmW9GeHrbjFWPsBlCymbhrrlXz/REbmfp22YxEs38zAud13PJrFNWy8JLvt1 DVuZ0knDK10WNp3+js3St3UM19lSkWs= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=FWQyrU0S; dmarc=pass (policy=none) header.from=intel.com; spf=pass (imf01.hostedemail.com: domain of kanchana.p.sridhar@intel.com designates 192.198.163.17 as permitted sender) smtp.mailfrom=kanchana.p.sridhar@intel.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1746733300; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=Gy1t+WZyD0sTzlhYVTpxMMKFVMl4tqMQgrfSyuaBH7Q=; b=PgvNn5KXlHsSm6NGWb+S2vooCdBwnqDprt44nV2NEezSxp8KA/mRHSCEd3lNL7hiaKW0+d DzS+jJc0WKa/7/aHyFJ2U+J+cKgleo1nYa1/ulQHp9uVQ6MEG9BjnNzvQbH3z590ucohQK Fo3cqAGS6TdxXskmpa7w1WtZN3HgJew= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1746733300; x=1778269300; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=YCqkHG3xgUw0fvPeOxdezVgACk/mFbGDzGAv8tGRuL4=; b=FWQyrU0Sg6Xs3kutgkpQBQ+1ThKSEtpoIIXwf/G2LMjzEjRPet3QWwp5 idAIfDmifnTC1mpQN8+hK+6P2QPD+4fQagBNJ1FrECx2p74HhP+viozsO Ip2CWR1AEUCUvJeFryJWQM783LC0X/1SdNTjVfKp+SVsCseAJbVO2AMen AwP2PjLpevdtwGRH+31I0giv3T0Bt6JkPsPhqKIzkPphG3+JwOiBqXw1p 5Nl1QIqCt6D5Aks2V9IQZjEtRF+EH1i12CFH5zAPawKMCofZU5+bPcWMi EdxlgJqQmdgDFb7cbY0j5I/ytHURZfNrSw6jAineaN1TKtQnDmjIFFBz5 Q==; X-CSE-ConnectionGUID: cTTWF0X1QoSVffwGNeYo2g== X-CSE-MsgGUID: hnCi28TGQN+hohXj82YEzQ== X-IronPort-AV: E=McAfee;i="6700,10204,11427"; a="48454587" X-IronPort-AV: E=Sophos;i="6.15,273,1739865600"; d="scan'208";a="48454587" Received: from fmviesa010.fm.intel.com ([10.60.135.150]) by fmvoesa111.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 May 2025 12:41:37 -0700 X-CSE-ConnectionGUID: yM5zIuQQRZCqLLboMQkZww== X-CSE-MsgGUID: 26z8tzPSTGyf9K7o1iXnaw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.15,273,1739865600"; d="scan'208";a="136880818" Received: from jf5300-b11a338t.jf.intel.com ([10.242.51.115]) by fmviesa010.fm.intel.com with ESMTP; 08 May 2025 12:41:36 -0700 From: Kanchana P Sridhar To: linux-kernel@vger.kernel.org, linux-mm@kvack.org, hannes@cmpxchg.org, yosry.ahmed@linux.dev, nphamcs@gmail.com, chengming.zhou@linux.dev, usamaarif642@gmail.com, ryan.roberts@arm.com, 21cnbao@gmail.com, ying.huang@linux.alibaba.com, akpm@linux-foundation.org, senozhatsky@chromium.org, linux-crypto@vger.kernel.org, herbert@gondor.apana.org.au, davem@davemloft.net, clabbe@baylibre.com, ardb@kernel.org, ebiggers@google.com, surenb@google.com, kristen.c.accardi@intel.com, vinicius.gomes@intel.com Cc: wajdi.k.feghali@intel.com, vinodh.gopal@intel.com, kanchana.p.sridhar@intel.com Subject: [PATCH v9 03/19] Revert "crypto: testmgr - Add multibuffer acomp testing" Date: Thu, 8 May 2025 12:41:18 -0700 Message-Id: <20250508194134.28392-4-kanchana.p.sridhar@intel.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20250508194134.28392-1-kanchana.p.sridhar@intel.com> References: <20250508194134.28392-1-kanchana.p.sridhar@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam11 X-Rspamd-Queue-Id: 19EC940002 X-Stat-Signature: mgse6c8xeybqi3p7rejcgzhsmt5uhspo X-Rspam-User: X-HE-Tag: 1746733299-546765 X-HE-Meta: U2FsdGVkX18LgsJjFsMIafgqadnrZa5Fe4PxIDnHKocSmn38jFFo/FyrhazDRRdlzchC8S44WiBwvGBUpYLG12UyWvzE8wFHw8/EgBE73iYYM2991//VOsSBqzl2fO3h1Uv7EXLv5zEY2jOhvaHUzFOkvSPLgGXoBGcR6R/m/wQbF3V1gHAih9J2zgrGdFuVuCp7fK6HRoECOkzy+JUP4i0iYm4quiQypuhCxIFJGfJ0EgWIYfQgDM7dfhyVGWZEgbvw/w7Wm3qIOMaJajh/aKtTQ3vIvVeU1PILvIY3s4dKAZurkH9y3H5r05u61aY10cwByv/yI+lfvmn4EcFoDZNpsUuPpyhXFi03ED4FBHnwbVt3SJnzP3hJe6l+cPXU9aHClum5xQawgU/Uh6WTre5jJepwoaTFLp4upZQMC/94licDFgZ9On5rRF21LwlynsR1bucE+TujlbJgqq/a+v0oCyNwSTf7/kXAW9rISaoMng32N04DwVPxRr/6BO7AmsmpfT08uvj07D5A0idAh5xyivlDwNXBha+Lq3fB/uyYxQ2uhsLf/oQbAU/0nrBgfnNfNdDYXXN94GRFi+TP2XBoPKQadwul3PTFc/xG01yzOT73rG9C6Uvt/vgpBoRYsjjbAv1XYV+mxy+gAXLroZfEhxZGsqcmrDBONEy/u+uf1tSARVWLBTF/tiRO0kj5awj0bvSqjRGKjSsBruz98RJwoVLnDygbNmzDPCbayRLvwN0e3Tf3CH9db7YgadKd+TOmzNdxjqJpHrAtRuNlYJ9xN0HPjtGPQI2+LtysWYzModmVJGoQ2mtBdBo894PiEhQmAqDlhLqfvt35mbLQ7P+275AOAZrF06Rp9WeyIzrGKxq0D39h+MEQG0pa1r3Zav0HFPkpqzB2plyDe+RSk5WpVmBbH8qqK1L9PSXEEbS+cKsf/i73sT3vXJlhWKtQZpv/tZgbfl+7lbCRTjV t6v8u/Yn TdaWnFM+Hdohw4EY3oP5PpLDnyyjJj4eZ73EaAB0sjjsonzVs1aVfHNJ34i4Vh5PQgaYLtG2cgeWtlHZQQXlJgYxCBA/CGzJGstRhZe72eopkaQTJBW8MbtIoNQk7gTL8WP70M/6sfSjEX2AZ9IRTELH++PcnsbYIV+UmtOiO3U6+d6GL+/VtORFkTbblOi9PWmHK2zYLaCrTd9P1YYKY1jh1hg== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: This reverts commit 99585c2192cb1ce212876e82ef01d1c98c7f4699. Remove the acomp multibuffer tests so that the interface can be redesigned. Signed-off-by: Herbert Xu --- crypto/testmgr.c | 147 +++++++++++++++++++++-------------------------- 1 file changed, 64 insertions(+), 83 deletions(-) diff --git a/crypto/testmgr.c b/crypto/testmgr.c index abd609d4c8ef..82977ea25db3 100644 --- a/crypto/testmgr.c +++ b/crypto/testmgr.c @@ -58,9 +58,6 @@ module_param(fuzz_iterations, uint, 0644); MODULE_PARM_DESC(fuzz_iterations, "number of fuzz test iterations"); #endif -/* Multibuffer is unlimited. Set arbitrary limit for testing. */ -#define MAX_MB_MSGS 16 - #ifdef CONFIG_CRYPTO_MANAGER_DISABLE_TESTS /* a perfect nop */ @@ -3329,48 +3326,27 @@ static int test_acomp(struct crypto_acomp *tfm, int ctcount, int dtcount) { const char *algo = crypto_tfm_alg_driver_name(crypto_acomp_tfm(tfm)); - struct scatterlist *src = NULL, *dst = NULL; - struct acomp_req *reqs[MAX_MB_MSGS] = {}; - char *decomp_out[MAX_MB_MSGS] = {}; - char *output[MAX_MB_MSGS] = {}; - struct crypto_wait wait; - struct acomp_req *req; - int ret = -ENOMEM; unsigned int i; + char *output, *decomp_out; + int ret; + struct scatterlist src, dst; + struct acomp_req *req; + struct crypto_wait wait; - src = kmalloc_array(MAX_MB_MSGS, sizeof(*src), GFP_KERNEL); - if (!src) - goto out; - dst = kmalloc_array(MAX_MB_MSGS, sizeof(*dst), GFP_KERNEL); - if (!dst) - goto out; - - for (i = 0; i < MAX_MB_MSGS; i++) { - reqs[i] = acomp_request_alloc(tfm); - if (!reqs[i]) - goto out; - - acomp_request_set_callback(reqs[i], - CRYPTO_TFM_REQ_MAY_SLEEP | - CRYPTO_TFM_REQ_MAY_BACKLOG, - crypto_req_done, &wait); - if (i) - acomp_request_chain(reqs[i], reqs[0]); - - output[i] = kmalloc(COMP_BUF_SIZE, GFP_KERNEL); - if (!output[i]) - goto out; + output = kmalloc(COMP_BUF_SIZE, GFP_KERNEL); + if (!output) + return -ENOMEM; - decomp_out[i] = kmalloc(COMP_BUF_SIZE, GFP_KERNEL); - if (!decomp_out[i]) - goto out; + decomp_out = kmalloc(COMP_BUF_SIZE, GFP_KERNEL); + if (!decomp_out) { + kfree(output); + return -ENOMEM; } for (i = 0; i < ctcount; i++) { unsigned int dlen = COMP_BUF_SIZE; int ilen = ctemplate[i].inlen; void *input_vec; - int j; input_vec = kmemdup(ctemplate[i].input, ilen, GFP_KERNEL); if (!input_vec) { @@ -3378,61 +3354,70 @@ static int test_acomp(struct crypto_acomp *tfm, goto out; } + memset(output, 0, dlen); crypto_init_wait(&wait); - sg_init_one(src, input_vec, ilen); + sg_init_one(&src, input_vec, ilen); + sg_init_one(&dst, output, dlen); - for (j = 0; j < MAX_MB_MSGS; j++) { - sg_init_one(dst + j, output[j], dlen); - acomp_request_set_params(reqs[j], src, dst + j, ilen, dlen); + req = acomp_request_alloc(tfm); + if (!req) { + pr_err("alg: acomp: request alloc failed for %s\n", + algo); + kfree(input_vec); + ret = -ENOMEM; + goto out; } - req = reqs[0]; + acomp_request_set_params(req, &src, &dst, ilen, dlen); + acomp_request_set_callback(req, CRYPTO_TFM_REQ_MAY_BACKLOG, + crypto_req_done, &wait); + ret = crypto_wait_req(crypto_acomp_compress(req), &wait); if (ret) { pr_err("alg: acomp: compression failed on test %d for %s: ret=%d\n", i + 1, algo, -ret); kfree(input_vec); + acomp_request_free(req); goto out; } ilen = req->dlen; dlen = COMP_BUF_SIZE; + sg_init_one(&src, output, ilen); + sg_init_one(&dst, decomp_out, dlen); crypto_init_wait(&wait); - for (j = 0; j < MAX_MB_MSGS; j++) { - sg_init_one(src + j, output[j], ilen); - sg_init_one(dst + j, decomp_out[j], dlen); - acomp_request_set_params(reqs[j], src + j, dst + j, ilen, dlen); - } - - crypto_wait_req(crypto_acomp_decompress(req), &wait); - for (j = 0; j < MAX_MB_MSGS; j++) { - ret = reqs[j]->base.err; - if (ret) { - pr_err("alg: acomp: compression failed on test %d (%d) for %s: ret=%d\n", - i + 1, j, algo, -ret); - kfree(input_vec); - goto out; - } + acomp_request_set_params(req, &src, &dst, ilen, dlen); - if (reqs[j]->dlen != ctemplate[i].inlen) { - pr_err("alg: acomp: Compression test %d (%d) failed for %s: output len = %d\n", - i + 1, j, algo, reqs[j]->dlen); - ret = -EINVAL; - kfree(input_vec); - goto out; - } + ret = crypto_wait_req(crypto_acomp_decompress(req), &wait); + if (ret) { + pr_err("alg: acomp: compression failed on test %d for %s: ret=%d\n", + i + 1, algo, -ret); + kfree(input_vec); + acomp_request_free(req); + goto out; + } - if (memcmp(input_vec, decomp_out[j], reqs[j]->dlen)) { - pr_err("alg: acomp: Compression test %d (%d) failed for %s\n", - i + 1, j, algo); - hexdump(output[j], reqs[j]->dlen); - ret = -EINVAL; - kfree(input_vec); - goto out; - } + if (req->dlen != ctemplate[i].inlen) { + pr_err("alg: acomp: Compression test %d failed for %s: output len = %d\n", + i + 1, algo, req->dlen); + ret = -EINVAL; + kfree(input_vec); + acomp_request_free(req); + goto out; + } + + if (memcmp(input_vec, decomp_out, req->dlen)) { + pr_err("alg: acomp: Compression test %d failed for %s\n", + i + 1, algo); + hexdump(output, req->dlen); + ret = -EINVAL; + kfree(input_vec); + acomp_request_free(req); + goto out; } kfree(input_vec); + acomp_request_free(req); } for (i = 0; i < dtcount; i++) { @@ -3446,9 +3431,10 @@ static int test_acomp(struct crypto_acomp *tfm, goto out; } + memset(output, 0, dlen); crypto_init_wait(&wait); - sg_init_one(src, input_vec, ilen); - sg_init_one(dst, output[0], dlen); + sg_init_one(&src, input_vec, ilen); + sg_init_one(&dst, output, dlen); req = acomp_request_alloc(tfm); if (!req) { @@ -3459,7 +3445,7 @@ static int test_acomp(struct crypto_acomp *tfm, goto out; } - acomp_request_set_params(req, src, dst, ilen, dlen); + acomp_request_set_params(req, &src, &dst, ilen, dlen); acomp_request_set_callback(req, CRYPTO_TFM_REQ_MAY_BACKLOG, crypto_req_done, &wait); @@ -3481,10 +3467,10 @@ static int test_acomp(struct crypto_acomp *tfm, goto out; } - if (memcmp(output[0], dtemplate[i].output, req->dlen)) { + if (memcmp(output, dtemplate[i].output, req->dlen)) { pr_err("alg: acomp: Decompression test %d failed for %s\n", i + 1, algo); - hexdump(output[0], req->dlen); + hexdump(output, req->dlen); ret = -EINVAL; kfree(input_vec); acomp_request_free(req); @@ -3498,13 +3484,8 @@ static int test_acomp(struct crypto_acomp *tfm, ret = 0; out: - acomp_request_free(reqs[0]); - for (i = 0; i < MAX_MB_MSGS; i++) { - kfree(output[i]); - kfree(decomp_out[i]); - } - kfree(dst); - kfree(src); + kfree(decomp_out); + kfree(output); return ret; } -- 2.27.0