From nobody Wed Jul 1 14:37:13 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5D395C4332F for ; Mon, 20 Dec 2021 09:23:34 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232925AbhLTJXd (ORCPT ); Mon, 20 Dec 2021 04:23:33 -0500 Received: from out30-133.freemail.mail.aliyun.com ([115.124.30.133]:33963 "EHLO out30-133.freemail.mail.aliyun.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231989AbhLTJXZ (ORCPT ); Mon, 20 Dec 2021 04:23:25 -0500 X-Alimail-AntiSpam: AC=PASS;BC=-1|-1;BR=01201311R111e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=e01e04357;MF=tianjia.zhang@linux.alibaba.com;NM=1;PH=DS;RN=17;SR=0;TI=SMTPD_---0V.CdyjU_1639992201; Received: from localhost(mailfrom:tianjia.zhang@linux.alibaba.com fp:SMTPD_---0V.CdyjU_1639992201) by smtp.aliyun-inc.com(127.0.0.1); Mon, 20 Dec 2021 17:23:21 +0800 From: Tianjia Zhang To: Herbert Xu , "David S. Miller" , Thomas Bogendoerfer , Michael Ellerman , Benjamin Herrenschmidt , Paul Mackerras , Heiko Carstens , Vasily Gorbik , Christian Borntraeger , Alexander Gordeev , linux-crypto@vger.kernel.org, linux-mips@vger.kernel.org, linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-s390@vger.kernel.org, sparclinux@vger.kernel.org Cc: Tianjia Zhang Subject: [PATCH 1/5] crypto: sha256 - remove duplicate generic hash init function Date: Mon, 20 Dec 2021 17:23:14 +0800 Message-Id: <20211220092318.5793-2-tianjia.zhang@linux.alibaba.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211220092318.5793-1-tianjia.zhang@linux.alibaba.com> References: <20211220092318.5793-1-tianjia.zhang@linux.alibaba.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" crypto_sha256_init() and sha256_base_init() are the same repeated implementations, remove the crypto_sha256_init() in generic implementation, sha224 is the same process. Signed-off-by: Tianjia Zhang --- crypto/sha256_generic.c | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/crypto/sha256_generic.c b/crypto/sha256_generic.c index 3b377197236e..bf147b01e313 100644 --- a/crypto/sha256_generic.c +++ b/crypto/sha256_generic.c @@ -33,18 +33,6 @@ const u8 sha256_zero_message_hash[SHA256_DIGEST_SIZE] = =3D { }; EXPORT_SYMBOL_GPL(sha256_zero_message_hash); =20 -static int crypto_sha256_init(struct shash_desc *desc) -{ - sha256_init(shash_desc_ctx(desc)); - return 0; -} - -static int crypto_sha224_init(struct shash_desc *desc) -{ - sha224_init(shash_desc_ctx(desc)); - return 0; -} - int crypto_sha256_update(struct shash_desc *desc, const u8 *data, unsigned int len) { @@ -72,7 +60,7 @@ EXPORT_SYMBOL(crypto_sha256_finup); =20 static struct shash_alg sha256_algs[2] =3D { { .digestsize =3D SHA256_DIGEST_SIZE, - .init =3D crypto_sha256_init, + .init =3D sha256_base_init, .update =3D crypto_sha256_update, .final =3D crypto_sha256_final, .finup =3D crypto_sha256_finup, @@ -86,7 +74,7 @@ static struct shash_alg sha256_algs[2] =3D { { } }, { .digestsize =3D SHA224_DIGEST_SIZE, - .init =3D crypto_sha224_init, + .init =3D sha224_base_init, .update =3D crypto_sha256_update, .final =3D crypto_sha256_final, .finup =3D crypto_sha256_finup, --=20 2.32.0 From nobody Wed Jul 1 14:37:13 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 026DBC433FE for ; Mon, 20 Dec 2021 09:23:37 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233009AbhLTJXf (ORCPT ); Mon, 20 Dec 2021 04:23:35 -0500 Received: from out30-43.freemail.mail.aliyun.com ([115.124.30.43]:53538 "EHLO out30-43.freemail.mail.aliyun.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231808AbhLTJX0 (ORCPT ); Mon, 20 Dec 2021 04:23:26 -0500 X-Alimail-AntiSpam: AC=PASS;BC=-1|-1;BR=01201311R191e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=e01e04426;MF=tianjia.zhang@linux.alibaba.com;NM=1;PH=DS;RN=17;SR=0;TI=SMTPD_---0V.Acb6e_1639992202; Received: from localhost(mailfrom:tianjia.zhang@linux.alibaba.com fp:SMTPD_---0V.Acb6e_1639992202) by smtp.aliyun-inc.com(127.0.0.1); Mon, 20 Dec 2021 17:23:23 +0800 From: Tianjia Zhang To: Herbert Xu , "David S. Miller" , Thomas Bogendoerfer , Michael Ellerman , Benjamin Herrenschmidt , Paul Mackerras , Heiko Carstens , Vasily Gorbik , Christian Borntraeger , Alexander Gordeev , linux-crypto@vger.kernel.org, linux-mips@vger.kernel.org, linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-s390@vger.kernel.org, sparclinux@vger.kernel.org Cc: Tianjia Zhang Subject: [PATCH 2/5] crypto: mips/sha - remove duplicate hash init function Date: Mon, 20 Dec 2021 17:23:15 +0800 Message-Id: <20211220092318.5793-3-tianjia.zhang@linux.alibaba.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211220092318.5793-1-tianjia.zhang@linux.alibaba.com> References: <20211220092318.5793-1-tianjia.zhang@linux.alibaba.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" sha*_base_init() series functions has implemented the initialization of the hash context, this commit use sha*_base_init() function to replace repeated implementations. Signed-off-by: Tianjia Zhang --- arch/mips/cavium-octeon/crypto/octeon-sha1.c | 17 +------- .../mips/cavium-octeon/crypto/octeon-sha256.c | 39 ++----------------- .../mips/cavium-octeon/crypto/octeon-sha512.c | 39 ++----------------- 3 files changed, 8 insertions(+), 87 deletions(-) diff --git a/arch/mips/cavium-octeon/crypto/octeon-sha1.c b/arch/mips/caviu= m-octeon/crypto/octeon-sha1.c index 30f1d75208a5..37a07b3c4568 100644 --- a/arch/mips/cavium-octeon/crypto/octeon-sha1.c +++ b/arch/mips/cavium-octeon/crypto/octeon-sha1.c @@ -15,6 +15,7 @@ =20 #include #include +#include #include #include #include @@ -71,20 +72,6 @@ static void octeon_sha1_transform(const void *_block) octeon_sha1_start(block[7]); } =20 -static int octeon_sha1_init(struct shash_desc *desc) -{ - struct sha1_state *sctx =3D shash_desc_ctx(desc); - - sctx->state[0] =3D SHA1_H0; - sctx->state[1] =3D SHA1_H1; - sctx->state[2] =3D SHA1_H2; - sctx->state[3] =3D SHA1_H3; - sctx->state[4] =3D SHA1_H4; - sctx->count =3D 0; - - return 0; -} - static void __octeon_sha1_update(struct sha1_state *sctx, const u8 *data, unsigned int len) { @@ -200,7 +187,7 @@ static int octeon_sha1_import(struct shash_desc *desc, = const void *in) =20 static struct shash_alg octeon_sha1_alg =3D { .digestsize =3D SHA1_DIGEST_SIZE, - .init =3D octeon_sha1_init, + .init =3D sha1_base_init, .update =3D octeon_sha1_update, .final =3D octeon_sha1_final, .export =3D octeon_sha1_export, diff --git a/arch/mips/cavium-octeon/crypto/octeon-sha256.c b/arch/mips/cav= ium-octeon/crypto/octeon-sha256.c index 36cb92895d72..435e4a6e7f13 100644 --- a/arch/mips/cavium-octeon/crypto/octeon-sha256.c +++ b/arch/mips/cavium-octeon/crypto/octeon-sha256.c @@ -16,6 +16,7 @@ =20 #include #include +#include #include #include #include @@ -63,40 +64,6 @@ static void octeon_sha256_transform(const void *_block) octeon_sha256_start(block[7]); } =20 -static int octeon_sha224_init(struct shash_desc *desc) -{ - struct sha256_state *sctx =3D shash_desc_ctx(desc); - - sctx->state[0] =3D SHA224_H0; - sctx->state[1] =3D SHA224_H1; - sctx->state[2] =3D SHA224_H2; - sctx->state[3] =3D SHA224_H3; - sctx->state[4] =3D SHA224_H4; - sctx->state[5] =3D SHA224_H5; - sctx->state[6] =3D SHA224_H6; - sctx->state[7] =3D SHA224_H7; - sctx->count =3D 0; - - return 0; -} - -static int octeon_sha256_init(struct shash_desc *desc) -{ - struct sha256_state *sctx =3D shash_desc_ctx(desc); - - sctx->state[0] =3D SHA256_H0; - sctx->state[1] =3D SHA256_H1; - sctx->state[2] =3D SHA256_H2; - sctx->state[3] =3D SHA256_H3; - sctx->state[4] =3D SHA256_H4; - sctx->state[5] =3D SHA256_H5; - sctx->state[6] =3D SHA256_H6; - sctx->state[7] =3D SHA256_H7; - sctx->count =3D 0; - - return 0; -} - static void __octeon_sha256_update(struct sha256_state *sctx, const u8 *da= ta, unsigned int len) { @@ -224,7 +191,7 @@ static int octeon_sha256_import(struct shash_desc *desc= , const void *in) =20 static struct shash_alg octeon_sha256_algs[2] =3D { { .digestsize =3D SHA256_DIGEST_SIZE, - .init =3D octeon_sha256_init, + .init =3D sha256_base_init, .update =3D octeon_sha256_update, .final =3D octeon_sha256_final, .export =3D octeon_sha256_export, @@ -240,7 +207,7 @@ static struct shash_alg octeon_sha256_algs[2] =3D { { } }, { .digestsize =3D SHA224_DIGEST_SIZE, - .init =3D octeon_sha224_init, + .init =3D sha224_base_init, .update =3D octeon_sha256_update, .final =3D octeon_sha224_final, .descsize =3D sizeof(struct sha256_state), diff --git a/arch/mips/cavium-octeon/crypto/octeon-sha512.c b/arch/mips/cav= ium-octeon/crypto/octeon-sha512.c index 359f039820d8..2dee9354e33f 100644 --- a/arch/mips/cavium-octeon/crypto/octeon-sha512.c +++ b/arch/mips/cavium-octeon/crypto/octeon-sha512.c @@ -15,6 +15,7 @@ =20 #include #include +#include #include #include #include @@ -74,40 +75,6 @@ static void octeon_sha512_transform(const void *_block) octeon_sha512_start(block[15]); } =20 -static int octeon_sha512_init(struct shash_desc *desc) -{ - struct sha512_state *sctx =3D shash_desc_ctx(desc); - - sctx->state[0] =3D SHA512_H0; - sctx->state[1] =3D SHA512_H1; - sctx->state[2] =3D SHA512_H2; - sctx->state[3] =3D SHA512_H3; - sctx->state[4] =3D SHA512_H4; - sctx->state[5] =3D SHA512_H5; - sctx->state[6] =3D SHA512_H6; - sctx->state[7] =3D SHA512_H7; - sctx->count[0] =3D sctx->count[1] =3D 0; - - return 0; -} - -static int octeon_sha384_init(struct shash_desc *desc) -{ - struct sha512_state *sctx =3D shash_desc_ctx(desc); - - sctx->state[0] =3D SHA384_H0; - sctx->state[1] =3D SHA384_H1; - sctx->state[2] =3D SHA384_H2; - sctx->state[3] =3D SHA384_H3; - sctx->state[4] =3D SHA384_H4; - sctx->state[5] =3D SHA384_H5; - sctx->state[6] =3D SHA384_H6; - sctx->state[7] =3D SHA384_H7; - sctx->count[0] =3D sctx->count[1] =3D 0; - - return 0; -} - static void __octeon_sha512_update(struct sha512_state *sctx, const u8 *da= ta, unsigned int len) { @@ -223,7 +190,7 @@ static int octeon_sha384_final(struct shash_desc *desc,= u8 *hash) =20 static struct shash_alg octeon_sha512_algs[2] =3D { { .digestsize =3D SHA512_DIGEST_SIZE, - .init =3D octeon_sha512_init, + .init =3D sha512_base_init, .update =3D octeon_sha512_update, .final =3D octeon_sha512_final, .descsize =3D sizeof(struct sha512_state), @@ -236,7 +203,7 @@ static struct shash_alg octeon_sha512_algs[2] =3D { { } }, { .digestsize =3D SHA384_DIGEST_SIZE, - .init =3D octeon_sha384_init, + .init =3D sha384_base_init, .update =3D octeon_sha512_update, .final =3D octeon_sha384_final, .descsize =3D sizeof(struct sha512_state), --=20 2.32.0 From nobody Wed Jul 1 14:37:13 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7C557C433EF for ; Mon, 20 Dec 2021 09:23:42 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232592AbhLTJXk (ORCPT ); Mon, 20 Dec 2021 04:23:40 -0500 Received: from out30-56.freemail.mail.aliyun.com ([115.124.30.56]:50962 "EHLO out30-56.freemail.mail.aliyun.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231840AbhLTJX2 (ORCPT ); Mon, 20 Dec 2021 04:23:28 -0500 X-Alimail-AntiSpam: AC=PASS;BC=-1|-1;BR=01201311R181e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=e01e01424;MF=tianjia.zhang@linux.alibaba.com;NM=1;PH=DS;RN=17;SR=0;TI=SMTPD_---0V.B9zcJ_1639992203; Received: from localhost(mailfrom:tianjia.zhang@linux.alibaba.com fp:SMTPD_---0V.B9zcJ_1639992203) by smtp.aliyun-inc.com(127.0.0.1); Mon, 20 Dec 2021 17:23:24 +0800 From: Tianjia Zhang To: Herbert Xu , "David S. Miller" , Thomas Bogendoerfer , Michael Ellerman , Benjamin Herrenschmidt , Paul Mackerras , Heiko Carstens , Vasily Gorbik , Christian Borntraeger , Alexander Gordeev , linux-crypto@vger.kernel.org, linux-mips@vger.kernel.org, linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-s390@vger.kernel.org, sparclinux@vger.kernel.org Cc: Tianjia Zhang Subject: [PATCH 3/5] crypto: powerpc/sha - remove duplicate hash init function Date: Mon, 20 Dec 2021 17:23:16 +0800 Message-Id: <20211220092318.5793-4-tianjia.zhang@linux.alibaba.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211220092318.5793-1-tianjia.zhang@linux.alibaba.com> References: <20211220092318.5793-1-tianjia.zhang@linux.alibaba.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" sha*_base_init() series functions has implemented the initialization of the hash context, this commit use sha*_base_init() function to replace repeated implementations. Signed-off-by: Tianjia Zhang --- arch/powerpc/crypto/sha1-spe-glue.c | 17 ++---------- arch/powerpc/crypto/sha1.c | 14 ++-------- arch/powerpc/crypto/sha256-spe-glue.c | 39 +++------------------------ 3 files changed, 7 insertions(+), 63 deletions(-) diff --git a/arch/powerpc/crypto/sha1-spe-glue.c b/arch/powerpc/crypto/sha1= -spe-glue.c index 88e8ea73bfa7..9170892a8557 100644 --- a/arch/powerpc/crypto/sha1-spe-glue.c +++ b/arch/powerpc/crypto/sha1-spe-glue.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include #include @@ -55,20 +56,6 @@ static inline void ppc_sha1_clear_context(struct sha1_st= ate *sctx) do { *ptr++ =3D 0; } while (--count); } =20 -static int ppc_spe_sha1_init(struct shash_desc *desc) -{ - struct sha1_state *sctx =3D shash_desc_ctx(desc); - - sctx->state[0] =3D SHA1_H0; - sctx->state[1] =3D SHA1_H1; - sctx->state[2] =3D SHA1_H2; - sctx->state[3] =3D SHA1_H3; - sctx->state[4] =3D SHA1_H4; - sctx->count =3D 0; - - return 0; -} - static int ppc_spe_sha1_update(struct shash_desc *desc, const u8 *data, unsigned int len) { @@ -168,7 +155,7 @@ static int ppc_spe_sha1_import(struct shash_desc *desc,= const void *in) =20 static struct shash_alg alg =3D { .digestsize =3D SHA1_DIGEST_SIZE, - .init =3D ppc_spe_sha1_init, + .init =3D sha1_base_init, .update =3D ppc_spe_sha1_update, .final =3D ppc_spe_sha1_final, .export =3D ppc_spe_sha1_export, diff --git a/arch/powerpc/crypto/sha1.c b/arch/powerpc/crypto/sha1.c index 7a55d790cdb1..f283bbd3f121 100644 --- a/arch/powerpc/crypto/sha1.c +++ b/arch/powerpc/crypto/sha1.c @@ -18,21 +18,11 @@ #include #include #include +#include #include =20 void powerpc_sha_transform(u32 *state, const u8 *src); =20 -static int powerpc_sha1_init(struct shash_desc *desc) -{ - struct sha1_state *sctx =3D shash_desc_ctx(desc); - - *sctx =3D (struct sha1_state){ - .state =3D { SHA1_H0, SHA1_H1, SHA1_H2, SHA1_H3, SHA1_H4 }, - }; - - return 0; -} - static int powerpc_sha1_update(struct shash_desc *desc, const u8 *data, unsigned int len) { @@ -114,7 +104,7 @@ static int powerpc_sha1_import(struct shash_desc *desc,= const void *in) =20 static struct shash_alg alg =3D { .digestsize =3D SHA1_DIGEST_SIZE, - .init =3D powerpc_sha1_init, + .init =3D sha1_base_init, .update =3D powerpc_sha1_update, .final =3D powerpc_sha1_final, .export =3D powerpc_sha1_export, diff --git a/arch/powerpc/crypto/sha256-spe-glue.c b/arch/powerpc/crypto/sh= a256-spe-glue.c index ffedea7e4bef..2997d13236e0 100644 --- a/arch/powerpc/crypto/sha256-spe-glue.c +++ b/arch/powerpc/crypto/sha256-spe-glue.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include @@ -56,40 +57,6 @@ static inline void ppc_sha256_clear_context(struct sha25= 6_state *sctx) do { *ptr++ =3D 0; } while (--count); } =20 -static int ppc_spe_sha256_init(struct shash_desc *desc) -{ - struct sha256_state *sctx =3D shash_desc_ctx(desc); - - sctx->state[0] =3D SHA256_H0; - sctx->state[1] =3D SHA256_H1; - sctx->state[2] =3D SHA256_H2; - sctx->state[3] =3D SHA256_H3; - sctx->state[4] =3D SHA256_H4; - sctx->state[5] =3D SHA256_H5; - sctx->state[6] =3D SHA256_H6; - sctx->state[7] =3D SHA256_H7; - sctx->count =3D 0; - - return 0; -} - -static int ppc_spe_sha224_init(struct shash_desc *desc) -{ - struct sha256_state *sctx =3D shash_desc_ctx(desc); - - sctx->state[0] =3D SHA224_H0; - sctx->state[1] =3D SHA224_H1; - sctx->state[2] =3D SHA224_H2; - sctx->state[3] =3D SHA224_H3; - sctx->state[4] =3D SHA224_H4; - sctx->state[5] =3D SHA224_H5; - sctx->state[6] =3D SHA224_H6; - sctx->state[7] =3D SHA224_H7; - sctx->count =3D 0; - - return 0; -} - static int ppc_spe_sha256_update(struct shash_desc *desc, const u8 *data, unsigned int len) { @@ -214,7 +181,7 @@ static int ppc_spe_sha256_import(struct shash_desc *des= c, const void *in) =20 static struct shash_alg algs[2] =3D { { .digestsize =3D SHA256_DIGEST_SIZE, - .init =3D ppc_spe_sha256_init, + .init =3D sha256_base_init, .update =3D ppc_spe_sha256_update, .final =3D ppc_spe_sha256_final, .export =3D ppc_spe_sha256_export, @@ -230,7 +197,7 @@ static struct shash_alg algs[2] =3D { { } }, { .digestsize =3D SHA224_DIGEST_SIZE, - .init =3D ppc_spe_sha224_init, + .init =3D sha224_base_init, .update =3D ppc_spe_sha256_update, .final =3D ppc_spe_sha224_final, .export =3D ppc_spe_sha256_export, --=20 2.32.0 From nobody Wed Jul 1 14:37:13 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5500BC4321E for ; Mon, 20 Dec 2021 09:23:45 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233231AbhLTJXn (ORCPT ); Mon, 20 Dec 2021 04:23:43 -0500 Received: from out30-132.freemail.mail.aliyun.com ([115.124.30.132]:41010 "EHLO out30-132.freemail.mail.aliyun.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231962AbhLTJXb (ORCPT ); Mon, 20 Dec 2021 04:23:31 -0500 X-Alimail-AntiSpam: AC=PASS;BC=-1|-1;BR=01201311R191e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=e01e04423;MF=tianjia.zhang@linux.alibaba.com;NM=1;PH=DS;RN=17;SR=0;TI=SMTPD_---0V.CdykD_1639992205; Received: from localhost(mailfrom:tianjia.zhang@linux.alibaba.com fp:SMTPD_---0V.CdykD_1639992205) by smtp.aliyun-inc.com(127.0.0.1); Mon, 20 Dec 2021 17:23:25 +0800 From: Tianjia Zhang To: Herbert Xu , "David S. Miller" , Thomas Bogendoerfer , Michael Ellerman , Benjamin Herrenschmidt , Paul Mackerras , Heiko Carstens , Vasily Gorbik , Christian Borntraeger , Alexander Gordeev , linux-crypto@vger.kernel.org, linux-mips@vger.kernel.org, linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-s390@vger.kernel.org, sparclinux@vger.kernel.org Cc: Tianjia Zhang Subject: [PATCH 4/5] crypto: sparc/sha - remove duplicate hash init function Date: Mon, 20 Dec 2021 17:23:17 +0800 Message-Id: <20211220092318.5793-5-tianjia.zhang@linux.alibaba.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211220092318.5793-1-tianjia.zhang@linux.alibaba.com> References: <20211220092318.5793-1-tianjia.zhang@linux.alibaba.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" sha*_base_init() series functions has implemented the initialization of the hash context, this commit use sha*_base_init() function to replace repeated implementations. Signed-off-by: Tianjia Zhang --- arch/sparc/crypto/sha1_glue.c | 14 ++----------- arch/sparc/crypto/sha256_glue.c | 37 +++------------------------------ arch/sparc/crypto/sha512_glue.c | 37 +++------------------------------ 3 files changed, 8 insertions(+), 80 deletions(-) diff --git a/arch/sparc/crypto/sha1_glue.c b/arch/sparc/crypto/sha1_glue.c index 86a654cce5ab..06b7becfcb21 100644 --- a/arch/sparc/crypto/sha1_glue.c +++ b/arch/sparc/crypto/sha1_glue.c @@ -17,6 +17,7 @@ #include #include #include +#include =20 #include #include @@ -26,17 +27,6 @@ asmlinkage void sha1_sparc64_transform(u32 *digest, const char *data, unsigned int rounds); =20 -static int sha1_sparc64_init(struct shash_desc *desc) -{ - struct sha1_state *sctx =3D shash_desc_ctx(desc); - - *sctx =3D (struct sha1_state){ - .state =3D { SHA1_H0, SHA1_H1, SHA1_H2, SHA1_H3, SHA1_H4 }, - }; - - return 0; -} - static void __sha1_sparc64_update(struct sha1_state *sctx, const u8 *data, unsigned int len, unsigned int partial) { @@ -128,7 +118,7 @@ static int sha1_sparc64_import(struct shash_desc *desc,= const void *in) =20 static struct shash_alg alg =3D { .digestsize =3D SHA1_DIGEST_SIZE, - .init =3D sha1_sparc64_init, + .init =3D sha1_base_init, .update =3D sha1_sparc64_update, .final =3D sha1_sparc64_final, .export =3D sha1_sparc64_export, diff --git a/arch/sparc/crypto/sha256_glue.c b/arch/sparc/crypto/sha256_glu= e.c index 60ec524cf9ca..285561a1cde5 100644 --- a/arch/sparc/crypto/sha256_glue.c +++ b/arch/sparc/crypto/sha256_glue.c @@ -17,6 +17,7 @@ #include #include #include +#include =20 #include #include @@ -26,38 +27,6 @@ asmlinkage void sha256_sparc64_transform(u32 *digest, const char *data, unsigned int rounds); =20 -static int sha224_sparc64_init(struct shash_desc *desc) -{ - struct sha256_state *sctx =3D shash_desc_ctx(desc); - sctx->state[0] =3D SHA224_H0; - sctx->state[1] =3D SHA224_H1; - sctx->state[2] =3D SHA224_H2; - sctx->state[3] =3D SHA224_H3; - sctx->state[4] =3D SHA224_H4; - sctx->state[5] =3D SHA224_H5; - sctx->state[6] =3D SHA224_H6; - sctx->state[7] =3D SHA224_H7; - sctx->count =3D 0; - - return 0; -} - -static int sha256_sparc64_init(struct shash_desc *desc) -{ - struct sha256_state *sctx =3D shash_desc_ctx(desc); - sctx->state[0] =3D SHA256_H0; - sctx->state[1] =3D SHA256_H1; - sctx->state[2] =3D SHA256_H2; - sctx->state[3] =3D SHA256_H3; - sctx->state[4] =3D SHA256_H4; - sctx->state[5] =3D SHA256_H5; - sctx->state[6] =3D SHA256_H6; - sctx->state[7] =3D SHA256_H7; - sctx->count =3D 0; - - return 0; -} - static void __sha256_sparc64_update(struct sha256_state *sctx, const u8 *d= ata, unsigned int len, unsigned int partial) { @@ -158,7 +127,7 @@ static int sha256_sparc64_import(struct shash_desc *des= c, const void *in) =20 static struct shash_alg sha256_alg =3D { .digestsize =3D SHA256_DIGEST_SIZE, - .init =3D sha256_sparc64_init, + .init =3D sha256_base_init, .update =3D sha256_sparc64_update, .final =3D sha256_sparc64_final, .export =3D sha256_sparc64_export, @@ -176,7 +145,7 @@ static struct shash_alg sha256_alg =3D { =20 static struct shash_alg sha224_alg =3D { .digestsize =3D SHA224_DIGEST_SIZE, - .init =3D sha224_sparc64_init, + .init =3D sha224_base_init, .update =3D sha256_sparc64_update, .final =3D sha224_sparc64_final, .descsize =3D sizeof(struct sha256_state), diff --git a/arch/sparc/crypto/sha512_glue.c b/arch/sparc/crypto/sha512_glu= e.c index 273ce21918c1..d66efa4ec59a 100644 --- a/arch/sparc/crypto/sha512_glue.c +++ b/arch/sparc/crypto/sha512_glue.c @@ -16,6 +16,7 @@ #include #include #include +#include =20 #include #include @@ -25,38 +26,6 @@ asmlinkage void sha512_sparc64_transform(u64 *digest, const char *data, unsigned int rounds); =20 -static int sha512_sparc64_init(struct shash_desc *desc) -{ - struct sha512_state *sctx =3D shash_desc_ctx(desc); - sctx->state[0] =3D SHA512_H0; - sctx->state[1] =3D SHA512_H1; - sctx->state[2] =3D SHA512_H2; - sctx->state[3] =3D SHA512_H3; - sctx->state[4] =3D SHA512_H4; - sctx->state[5] =3D SHA512_H5; - sctx->state[6] =3D SHA512_H6; - sctx->state[7] =3D SHA512_H7; - sctx->count[0] =3D sctx->count[1] =3D 0; - - return 0; -} - -static int sha384_sparc64_init(struct shash_desc *desc) -{ - struct sha512_state *sctx =3D shash_desc_ctx(desc); - sctx->state[0] =3D SHA384_H0; - sctx->state[1] =3D SHA384_H1; - sctx->state[2] =3D SHA384_H2; - sctx->state[3] =3D SHA384_H3; - sctx->state[4] =3D SHA384_H4; - sctx->state[5] =3D SHA384_H5; - sctx->state[6] =3D SHA384_H6; - sctx->state[7] =3D SHA384_H7; - sctx->count[0] =3D sctx->count[1] =3D 0; - - return 0; -} - static void __sha512_sparc64_update(struct sha512_state *sctx, const u8 *d= ata, unsigned int len, unsigned int partial) { @@ -146,7 +115,7 @@ static int sha384_sparc64_final(struct shash_desc *desc= , u8 *hash) =20 static struct shash_alg sha512 =3D { .digestsize =3D SHA512_DIGEST_SIZE, - .init =3D sha512_sparc64_init, + .init =3D sha512_base_init, .update =3D sha512_sparc64_update, .final =3D sha512_sparc64_final, .descsize =3D sizeof(struct sha512_state), @@ -161,7 +130,7 @@ static struct shash_alg sha512 =3D { =20 static struct shash_alg sha384 =3D { .digestsize =3D SHA384_DIGEST_SIZE, - .init =3D sha384_sparc64_init, + .init =3D sha384_base_init, .update =3D sha512_sparc64_update, .final =3D sha384_sparc64_final, .descsize =3D sizeof(struct sha512_state), --=20 2.32.0 From nobody Wed Jul 1 14:37:13 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 673A0C43217 for ; Mon, 20 Dec 2021 09:23:50 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232897AbhLTJXt (ORCPT ); Mon, 20 Dec 2021 04:23:49 -0500 Received: from out30-130.freemail.mail.aliyun.com ([115.124.30.130]:52249 "EHLO out30-130.freemail.mail.aliyun.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231521AbhLTJXd (ORCPT ); Mon, 20 Dec 2021 04:23:33 -0500 X-Alimail-AntiSpam: AC=PASS;BC=-1|-1;BR=01201311R161e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=e01e04394;MF=tianjia.zhang@linux.alibaba.com;NM=1;PH=DS;RN=17;SR=0;TI=SMTPD_---0V.B9zcn_1639992206; Received: from localhost(mailfrom:tianjia.zhang@linux.alibaba.com fp:SMTPD_---0V.B9zcn_1639992206) by smtp.aliyun-inc.com(127.0.0.1); Mon, 20 Dec 2021 17:23:27 +0800 From: Tianjia Zhang To: Herbert Xu , "David S. Miller" , Thomas Bogendoerfer , Michael Ellerman , Benjamin Herrenschmidt , Paul Mackerras , Heiko Carstens , Vasily Gorbik , Christian Borntraeger , Alexander Gordeev , linux-crypto@vger.kernel.org, linux-mips@vger.kernel.org, linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-s390@vger.kernel.org, sparclinux@vger.kernel.org Cc: Tianjia Zhang Subject: [PATCH 5/5] crypto: s390/sha512 - Use macros instead of direct IV numbers Date: Mon, 20 Dec 2021 17:23:18 +0800 Message-Id: <20211220092318.5793-6-tianjia.zhang@linux.alibaba.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211220092318.5793-1-tianjia.zhang@linux.alibaba.com> References: <20211220092318.5793-1-tianjia.zhang@linux.alibaba.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" In the init functions of sha512 and sha384, the initial hash value use macros instead of numbers. Signed-off-by: Tianjia Zhang --- arch/s390/crypto/sha512_s390.c | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/arch/s390/crypto/sha512_s390.c b/arch/s390/crypto/sha512_s390.c index 29a6bd404c59..43ce4956df73 100644 --- a/arch/s390/crypto/sha512_s390.c +++ b/arch/s390/crypto/sha512_s390.c @@ -22,14 +22,14 @@ static int sha512_init(struct shash_desc *desc) { struct s390_sha_ctx *ctx =3D shash_desc_ctx(desc); =20 - *(__u64 *)&ctx->state[0] =3D 0x6a09e667f3bcc908ULL; - *(__u64 *)&ctx->state[2] =3D 0xbb67ae8584caa73bULL; - *(__u64 *)&ctx->state[4] =3D 0x3c6ef372fe94f82bULL; - *(__u64 *)&ctx->state[6] =3D 0xa54ff53a5f1d36f1ULL; - *(__u64 *)&ctx->state[8] =3D 0x510e527fade682d1ULL; - *(__u64 *)&ctx->state[10] =3D 0x9b05688c2b3e6c1fULL; - *(__u64 *)&ctx->state[12] =3D 0x1f83d9abfb41bd6bULL; - *(__u64 *)&ctx->state[14] =3D 0x5be0cd19137e2179ULL; + *(__u64 *)&ctx->state[0] =3D SHA512_H0; + *(__u64 *)&ctx->state[2] =3D SHA512_H1; + *(__u64 *)&ctx->state[4] =3D SHA512_H2; + *(__u64 *)&ctx->state[6] =3D SHA512_H3; + *(__u64 *)&ctx->state[8] =3D SHA512_H4; + *(__u64 *)&ctx->state[10] =3D SHA512_H5; + *(__u64 *)&ctx->state[12] =3D SHA512_H6; + *(__u64 *)&ctx->state[14] =3D SHA512_H7; ctx->count =3D 0; ctx->func =3D CPACF_KIMD_SHA_512; =20 @@ -87,14 +87,14 @@ static int sha384_init(struct shash_desc *desc) { struct s390_sha_ctx *ctx =3D shash_desc_ctx(desc); =20 - *(__u64 *)&ctx->state[0] =3D 0xcbbb9d5dc1059ed8ULL; - *(__u64 *)&ctx->state[2] =3D 0x629a292a367cd507ULL; - *(__u64 *)&ctx->state[4] =3D 0x9159015a3070dd17ULL; - *(__u64 *)&ctx->state[6] =3D 0x152fecd8f70e5939ULL; - *(__u64 *)&ctx->state[8] =3D 0x67332667ffc00b31ULL; - *(__u64 *)&ctx->state[10] =3D 0x8eb44a8768581511ULL; - *(__u64 *)&ctx->state[12] =3D 0xdb0c2e0d64f98fa7ULL; - *(__u64 *)&ctx->state[14] =3D 0x47b5481dbefa4fa4ULL; + *(__u64 *)&ctx->state[0] =3D SHA384_H0; + *(__u64 *)&ctx->state[2] =3D SHA384_H1; + *(__u64 *)&ctx->state[4] =3D SHA384_H2; + *(__u64 *)&ctx->state[6] =3D SHA384_H3; + *(__u64 *)&ctx->state[8] =3D SHA384_H4; + *(__u64 *)&ctx->state[10] =3D SHA384_H5; + *(__u64 *)&ctx->state[12] =3D SHA384_H6; + *(__u64 *)&ctx->state[14] =3D SHA384_H7; ctx->count =3D 0; ctx->func =3D CPACF_KIMD_SHA_512; =20 --=20 2.32.0