crypto: sm3,sm4 - move into crypto directory
authorJason A. Donenfeld <Jason@zx2c4.com>
Mon, 14 Mar 2022 03:11:01 +0000 (21:11 -0600)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 8 Apr 2022 08:11:48 +0000 (16:11 +0800)
The lib/crypto libraries live in lib because they are used by various
drivers of the kernel. In contrast, the various helper functions in
crypto are there because they're used exclusively by the crypto API. The
SM3 and SM4 helper functions were erroniously moved into lib/crypto/
instead of crypto/, even though there are no in-kernel users outside of
the crypto API of those functions. This commit moves them into crypto/.

Cc: Herbert Xu <herbert@gondor.apana.org.au>
Cc: Tianjia Zhang <tianjia.zhang@linux.alibaba.com>
Cc: Eric Biggers <ebiggers@kernel.org>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
arch/arm64/crypto/Kconfig
crypto/Kconfig
crypto/Makefile
crypto/sm3.c [moved from lib/crypto/sm3.c with 100% similarity]
crypto/sm4.c [moved from lib/crypto/sm4.c with 100% similarity]
lib/crypto/Kconfig
lib/crypto/Makefile

index 2a965aa..454621a 100644 (file)
@@ -45,13 +45,13 @@ config CRYPTO_SM3_ARM64_CE
        tristate "SM3 digest algorithm (ARMv8.2 Crypto Extensions)"
        depends on KERNEL_MODE_NEON
        select CRYPTO_HASH
-       select CRYPTO_LIB_SM3
+       select CRYPTO_SM3
 
 config CRYPTO_SM4_ARM64_CE
        tristate "SM4 symmetric cipher (ARMv8.2 Crypto Extensions)"
        depends on KERNEL_MODE_NEON
        select CRYPTO_ALGAPI
-       select CRYPTO_LIB_SM4
+       select CRYPTO_SM4
 
 config CRYPTO_GHASH_ARM64_CE
        tristate "GHASH/AES-GCM using ARMv8 Crypto Extensions"
index 4106881..1919746 100644 (file)
@@ -274,7 +274,7 @@ config CRYPTO_ECRDSA
 
 config CRYPTO_SM2
        tristate "SM2 algorithm"
-       select CRYPTO_LIB_SM3
+       select CRYPTO_SM3
        select CRYPTO_AKCIPHER
        select CRYPTO_MANAGER
        select MPILIB
@@ -1010,9 +1010,12 @@ config CRYPTO_SHA3
          http://keccak.noekeon.org/
 
 config CRYPTO_SM3
+       tristate
+
+config CRYPTO_SM3_GENERIC
        tristate "SM3 digest algorithm"
        select CRYPTO_HASH
-       select CRYPTO_LIB_SM3
+       select CRYPTO_SM3
        help
          SM3 secure hash function as defined by OSCCA GM/T 0004-2012 SM3).
          It is part of the Chinese Commercial Cryptography suite.
@@ -1025,7 +1028,7 @@ config CRYPTO_SM3_AVX_X86_64
        tristate "SM3 digest algorithm (x86_64/AVX)"
        depends on X86 && 64BIT
        select CRYPTO_HASH
-       select CRYPTO_LIB_SM3
+       select CRYPTO_SM3
        help
          SM3 secure hash function as defined by OSCCA GM/T 0004-2012 SM3).
          It is part of the Chinese Commercial Cryptography suite. This is
@@ -1572,9 +1575,12 @@ config CRYPTO_SERPENT_AVX2_X86_64
          <https://www.cl.cam.ac.uk/~rja14/serpent.html>
 
 config CRYPTO_SM4
+       tristate
+
+config CRYPTO_SM4_GENERIC
        tristate "SM4 cipher algorithm"
        select CRYPTO_ALGAPI
-       select CRYPTO_LIB_SM4
+       select CRYPTO_SM4
        help
          SM4 cipher algorithms (OSCCA GB/T 32907-2016).
 
@@ -1603,7 +1609,7 @@ config CRYPTO_SM4_AESNI_AVX_X86_64
        select CRYPTO_SKCIPHER
        select CRYPTO_SIMD
        select CRYPTO_ALGAPI
-       select CRYPTO_LIB_SM4
+       select CRYPTO_SM4
        help
          SM4 cipher algorithms (OSCCA GB/T 32907-2016) (x86_64/AES-NI/AVX).
 
@@ -1624,7 +1630,7 @@ config CRYPTO_SM4_AESNI_AVX2_X86_64
        select CRYPTO_SKCIPHER
        select CRYPTO_SIMD
        select CRYPTO_ALGAPI
-       select CRYPTO_LIB_SM4
+       select CRYPTO_SM4
        select CRYPTO_SM4_AESNI_AVX_X86_64
        help
          SM4 cipher algorithms (OSCCA GB/T 32907-2016) (x86_64/AES-NI/AVX2).
index f754c4d..43bc33e 100644 (file)
@@ -78,7 +78,8 @@ obj-$(CONFIG_CRYPTO_SHA1) += sha1_generic.o
 obj-$(CONFIG_CRYPTO_SHA256) += sha256_generic.o
 obj-$(CONFIG_CRYPTO_SHA512) += sha512_generic.o
 obj-$(CONFIG_CRYPTO_SHA3) += sha3_generic.o
-obj-$(CONFIG_CRYPTO_SM3) += sm3_generic.o
+obj-$(CONFIG_CRYPTO_SM3) += sm3.o
+obj-$(CONFIG_CRYPTO_SM3_GENERIC) += sm3_generic.o
 obj-$(CONFIG_CRYPTO_STREEBOG) += streebog_generic.o
 obj-$(CONFIG_CRYPTO_WP512) += wp512.o
 CFLAGS_wp512.o := $(call cc-option,-fno-schedule-insns)  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79149
@@ -134,7 +135,8 @@ obj-$(CONFIG_CRYPTO_SERPENT) += serpent_generic.o
 CFLAGS_serpent_generic.o := $(call cc-option,-fsched-pressure)  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79149
 obj-$(CONFIG_CRYPTO_AES) += aes_generic.o
 CFLAGS_aes_generic.o := $(call cc-option,-fno-code-hoisting) # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83356
-obj-$(CONFIG_CRYPTO_SM4) += sm4_generic.o
+obj-$(CONFIG_CRYPTO_SM4) += sm4.o
+obj-$(CONFIG_CRYPTO_SM4_GENERIC) += sm4_generic.o
 obj-$(CONFIG_CRYPTO_AES_TI) += aes_ti.o
 obj-$(CONFIG_CRYPTO_CAMELLIA) += camellia_generic.o
 obj-$(CONFIG_CRYPTO_CAST_COMMON) += cast_common.o
similarity index 100%
rename from lib/crypto/sm3.c
rename to crypto/sm3.c
similarity index 100%
rename from lib/crypto/sm4.c
rename to crypto/sm4.c
index 379a66d..9856e29 100644 (file)
@@ -123,10 +123,4 @@ config CRYPTO_LIB_CHACHA20POLY1305
 config CRYPTO_LIB_SHA256
        tristate
 
-config CRYPTO_LIB_SM3
-       tristate
-
-config CRYPTO_LIB_SM4
-       tristate
-
 endmenu
index 6c872d0..26be2bb 100644 (file)
@@ -37,12 +37,6 @@ libpoly1305-y                                        += poly1305.o
 obj-$(CONFIG_CRYPTO_LIB_SHA256)                        += libsha256.o
 libsha256-y                                    := sha256.o
 
-obj-$(CONFIG_CRYPTO_LIB_SM3)                   += libsm3.o
-libsm3-y                                       := sm3.o
-
-obj-$(CONFIG_CRYPTO_LIB_SM4)                   += libsm4.o
-libsm4-y                                       := sm4.o
-
 ifneq ($(CONFIG_CRYPTO_MANAGER_DISABLE_TESTS),y)
 libblake2s-y                                   += blake2s-selftest.o
 libchacha20poly1305-y                          += chacha20poly1305-selftest.o