Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp1952111ybz; Sat, 2 May 2020 11:30:22 -0700 (PDT) X-Google-Smtp-Source: APiQypIDamntNp6LLQzUUhW/RO/J1796EvbDpv9bXcdtG57hcGRE+d6WyQXgzI+lRnPRhsZWx8K3 X-Received: by 2002:a05:6402:8c9:: with SMTP id d9mr8225869edz.357.1588444221869; Sat, 02 May 2020 11:30:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1588444221; cv=none; d=google.com; s=arc-20160816; b=lyjHTwgqpWB0VubuicB+IO/mgP1WPLWn6tFeeZsD4+Kug+U2SU1BPy65DQ12nPStV5 V7ttI5inhYffrZvb+A/FT/LLQNRj10PtmpIn7hfJa3SqciqEWmq96dkQzX7ApI99fkHc vSN9b5mQgwwqjlEjpqyyLOwmNU1l+v55/6DLgaInZi5WfsbHyI0InbF3v8OxnRQ9H/+I tuxth5HVlp0QkhGFcA4PngoWS3zgsuwbLiul8MOVSEqhw9+Gf8YoL7+l6QjxdLzveaJB zccwMBLAyKVZ327iMBk0tvcC/V1fmz1gC2DZbADOTji3U/ogig4dRNHJkvzstR7ZJjSY QMNQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=TR5ui8Eorxsr4NgBpXSyHcb+p2UsBDMK842Pp3bo1YQ=; b=XY/W/Ld96eHCGQSIt61HrmKcK51dJ01tsEiYDFbB+izq4dE6xeNyM2IyQlZTROPCXL U8Pdx1tXRbdAbPU+d/OyZwLtm5mEaUTCU8H8p+1p4dpoK56rB9iVq4SuDl6paWIQTnsT 3igrIGLMnhGP8LivVOP+KVzdIGDaIOAjyvhZ81nttrvzdP+pg6/WV3Mmqbbgsi6zoazU WK6e0T5CKVssVz2mnVQLLBnCKP1zWuBVNuGhjgR7gSd0XiIx7psiRv/gQnpTf588aHPy uzTd+WtPycWpQCPjo4qii6lZJ1x+kzrKSCKLsKPClaW9kVodbBUJbLOO1R/KCCVvpc9a XHeA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=PWqPGct5; spf=pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id dk14si3906088ejb.124.2020.05.02.11.29.58; Sat, 02 May 2020 11:30:21 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=PWqPGct5; spf=pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728421AbgEBS2c (ORCPT + 99 others); Sat, 2 May 2020 14:28:32 -0400 Received: from mail.kernel.org ([198.145.29.99]:54626 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728418AbgEBS2I (ORCPT ); Sat, 2 May 2020 14:28:08 -0400 Received: from sol.hsd1.ca.comcast.net (c-107-3-166-239.hsd1.ca.comcast.net [107.3.166.239]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 010742075B; Sat, 2 May 2020 18:28:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1588444088; bh=DIRRWMKKG6PuEZe/jxmnBQSb7EtQNzSmtDxFdL5Rd74=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=PWqPGct5HDq0OUWPrgUsx7rK3tDbG+8sNdu4jJJYWt/+/yQ17tK0BnhXBcie2PqXc /px/lgw4jBC+9RANyujawdCzcMFCPhOtJ4Mpyc2v0BWrapwq5Dh/7u3Sbtzr22AUEA iEOcpPSkn9LnwYA0kldJJj4wxarmeqTpFW1Tmd7U= From: Eric Biggers To: linux-crypto@vger.kernel.org Cc: linux-kernel@vger.kernel.org, "Jason A . Donenfeld" , Theodore Ts'o , linuxppc-dev@lists.ozlabs.org, Benjamin Herrenschmidt , Michael Ellerman , Paul Mackerras Subject: [PATCH 2/7] crypto: powerpc/sha1 - remove unused temporary workspace Date: Sat, 2 May 2020 11:24:22 -0700 Message-Id: <20200502182427.104383-3-ebiggers@kernel.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200502182427.104383-1-ebiggers@kernel.org> References: <20200502182427.104383-1-ebiggers@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-crypto-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-crypto@vger.kernel.org From: Eric Biggers The PowerPC implementation of SHA-1 doesn't actually use the 16-word temporary array that's passed to the assembly code. This was probably meant to correspond to the 'W' array that lib/sha1.c uses. However, in sha1-powerpc-asm.S these values are actually stored in GPRs 16-31. Referencing SHA_WORKSPACE_WORDS from this code also isn't appropriate, since it's an implementation detail of lib/sha1.c. Therefore, just remove this unneeded array. Tested with: export ARCH=powerpc CROSS_COMPILE=powerpc-linux-gnu- make mpc85xx_defconfig cat >> .config << EOF # CONFIG_MODULES is not set # CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set CONFIG_DEBUG_KERNEL=y CONFIG_CRYPTO_MANAGER_EXTRA_TESTS=y CONFIG_CRYPTO_SHA1_PPC=y EOF make olddefconfig make -j32 qemu-system-ppc -M mpc8544ds -cpu e500 -nographic \ -kernel arch/powerpc/boot/zImage \ -append "cryptomgr.fuzz_iterations=1000 cryptomgr.panic_on_fail=1" Cc: linuxppc-dev@lists.ozlabs.org Cc: Benjamin Herrenschmidt Cc: Michael Ellerman Cc: Paul Mackerras Signed-off-by: Eric Biggers --- arch/powerpc/crypto/sha1.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/arch/powerpc/crypto/sha1.c b/arch/powerpc/crypto/sha1.c index 7b43fc352089b1..db46b6130a9642 100644 --- a/arch/powerpc/crypto/sha1.c +++ b/arch/powerpc/crypto/sha1.c @@ -16,12 +16,11 @@ #include #include #include -#include #include #include #include -extern void powerpc_sha_transform(u32 *state, const u8 *src, u32 *temp); +void powerpc_sha_transform(u32 *state, const u8 *src); static int sha1_init(struct shash_desc *desc) { @@ -47,7 +46,6 @@ static int sha1_update(struct shash_desc *desc, const u8 *data, src = data; if ((partial + len) > 63) { - u32 temp[SHA_WORKSPACE_WORDS]; if (partial) { done = -partial; @@ -56,12 +54,11 @@ static int sha1_update(struct shash_desc *desc, const u8 *data, } do { - powerpc_sha_transform(sctx->state, src, temp); + powerpc_sha_transform(sctx->state, src); done += 64; src = data + done; } while (done + 63 < len); - memzero_explicit(temp, sizeof(temp)); partial = 0; } memcpy(sctx->buffer + partial, src, len - done); -- 2.26.2