Re: [PATCH 5/6] crypto: skcipher - remove useless setting of type flags
On Sun, Jul 1, 2018 at 1:16 AM, Eric Biggers wrote: > From: Eric Biggers > > Some skcipher algorithms set .cra_flags = CRYPTO_ALG_TYPE_SKCIPHER. But > this is redundant with the C structure type ('struct skcipher_alg'), and > crypto_register_skcipher() already sets the type flag automatically, > clearing any type flag that was already there. Apparently the useless > assignment has just been copy+pasted around. > > So, remove the useless assignment from all the skcipher algorithms. > > This patch shouldn't change any actual behavior. > > Signed-off-by: Eric Biggers > --- > drivers/crypto/ccree/cc_cipher.c | 3 +-- Acked-by: Gilad Ben-Yossef
Re: [PATCH 3/6] crypto: ahash - remove useless setting of cra_type
On Sun, Jul 1, 2018 at 1:16 AM, Eric Biggers wrote: > From: Eric Biggers > > Some ahash algorithms set .cra_type = _ahash_type. But this is > redundant with the C structure type ('struct ahash_alg'), and > crypto_register_ahash() already sets the .cra_type automatically. > Apparently the useless assignment has just been copy+pasted around. > > So, remove the useless assignment from all the ahash algorithms. > > This patch shouldn't change any actual behavior. > > Signed-off-by: Eric Biggers > --- > drivers/crypto/ccree/cc_hash.c | 1 - Acked-by: Gilad Ben-Yossef
Re: [PATCH 2/6] crypto: ahash - remove useless setting of type flags
On Sun, Jul 1, 2018 at 1:16 AM, Eric Biggers wrote: > From: Eric Biggers > > Many ahash algorithms set .cra_flags = CRYPTO_ALG_TYPE_AHASH. But this > is redundant with the C structure type ('struct ahash_alg'), and > crypto_register_ahash() already sets the type flag automatically, > clearing any type flag that was already there. Apparently the useless > assignment has just been copy+pasted around. > > So, remove the useless assignment from all the ahash algorithms. > > This patch shouldn't change any actual behavior. > > Signed-off-by: Eric Biggers > --- > drivers/crypto/ccree/cc_hash.c | 3 +- Acked-by: Gilad Ben-Yossef -- Gilad Ben-Yossef Chief Coffee Drinker values of β will give rise to dom! ...
[PATCH 6/6] crypto: remove redundant type flags from tfm allocation
From: Eric Biggers Some crypto API users allocating a tfm with crypto_alloc_$FOO() are also specifying the type flags for $FOO, e.g. crypto_alloc_shash() with CRYPTO_ALG_TYPE_SHASH. But, that's redundant since the crypto API will override any specified type flag/mask with the correct ones. So, remove the unneeded flags. This patch shouldn't change any actual behavior. Signed-off-by: Eric Biggers --- Documentation/crypto/api-samples.rst | 2 +- drivers/crypto/atmel-sha.c | 4 +--- drivers/crypto/inside-secure/safexcel_hash.c | 3 +-- drivers/crypto/marvell/hash.c| 3 +-- drivers/crypto/qce/sha.c | 3 +-- security/keys/dh.c | 2 +- 6 files changed, 6 insertions(+), 11 deletions(-) diff --git a/Documentation/crypto/api-samples.rst b/Documentation/crypto/api-samples.rst index 006827e30d066..0f6ca8b7261e9 100644 --- a/Documentation/crypto/api-samples.rst +++ b/Documentation/crypto/api-samples.rst @@ -162,7 +162,7 @@ Code Example For Use of Operational State Memory With SHASH char *hash_alg_name = "sha1-padlock-nano"; int ret; -alg = crypto_alloc_shash(hash_alg_name, CRYPTO_ALG_TYPE_SHASH, 0); +alg = crypto_alloc_shash(hash_alg_name, 0, 0); if (IS_ERR(alg)) { pr_info("can't alloc alg %s\n", hash_alg_name); return PTR_ERR(alg); diff --git a/drivers/crypto/atmel-sha.c b/drivers/crypto/atmel-sha.c index 4d43081120db1..8a19df2fba6a3 100644 --- a/drivers/crypto/atmel-sha.c +++ b/drivers/crypto/atmel-sha.c @@ -2316,9 +2316,7 @@ struct atmel_sha_authenc_ctx *atmel_sha_authenc_spawn(unsigned long mode) goto error; } - tfm = crypto_alloc_ahash(name, -CRYPTO_ALG_TYPE_AHASH, -CRYPTO_ALG_TYPE_AHASH_MASK); + tfm = crypto_alloc_ahash(name, 0, 0); if (IS_ERR(tfm)) { err = PTR_ERR(tfm); goto error; diff --git a/drivers/crypto/inside-secure/safexcel_hash.c b/drivers/crypto/inside-secure/safexcel_hash.c index 188ba0734337a..2ebf8ff710813 100644 --- a/drivers/crypto/inside-secure/safexcel_hash.c +++ b/drivers/crypto/inside-secure/safexcel_hash.c @@ -949,8 +949,7 @@ int safexcel_hmac_setkey(const char *alg, const u8 *key, unsigned int keylen, u8 *ipad, *opad; int ret; - tfm = crypto_alloc_ahash(alg, CRYPTO_ALG_TYPE_AHASH, -CRYPTO_ALG_TYPE_AHASH_MASK); + tfm = crypto_alloc_ahash(alg, 0, 0); if (IS_ERR(tfm)) return PTR_ERR(tfm); diff --git a/drivers/crypto/marvell/hash.c b/drivers/crypto/marvell/hash.c index e34d80b6b7e58..99ff54cc8a15e 100644 --- a/drivers/crypto/marvell/hash.c +++ b/drivers/crypto/marvell/hash.c @@ -1183,8 +1183,7 @@ static int mv_cesa_ahmac_setkey(const char *hash_alg_name, u8 *opad; int ret; - tfm = crypto_alloc_ahash(hash_alg_name, CRYPTO_ALG_TYPE_AHASH, -CRYPTO_ALG_TYPE_AHASH_MASK); + tfm = crypto_alloc_ahash(hash_alg_name, 0, 0); if (IS_ERR(tfm)) return PTR_ERR(tfm); diff --git a/drivers/crypto/qce/sha.c b/drivers/crypto/qce/sha.c index 53227d70d3970..d8a5db11b7ea1 100644 --- a/drivers/crypto/qce/sha.c +++ b/drivers/crypto/qce/sha.c @@ -378,8 +378,7 @@ static int qce_ahash_hmac_setkey(struct crypto_ahash *tfm, const u8 *key, else return -EINVAL; - ahash_tfm = crypto_alloc_ahash(alg_name, CRYPTO_ALG_TYPE_AHASH, - CRYPTO_ALG_TYPE_AHASH_MASK); + ahash_tfm = crypto_alloc_ahash(alg_name, 0, 0); if (IS_ERR(ahash_tfm)) return PTR_ERR(ahash_tfm); diff --git a/security/keys/dh.c b/security/keys/dh.c index b203f7758f976..711e89d8c4153 100644 --- a/security/keys/dh.c +++ b/security/keys/dh.c @@ -317,7 +317,7 @@ long __keyctl_dh_compute(struct keyctl_dh_params __user *params, if (ret) goto out3; - tfm = crypto_alloc_kpp("dh", CRYPTO_ALG_TYPE_KPP, 0); + tfm = crypto_alloc_kpp("dh", 0, 0); if (IS_ERR(tfm)) { ret = PTR_ERR(tfm); goto out3; -- 2.18.0
[PATCH 1/6] crypto: shash - remove useless setting of type flags
From: Eric Biggers Many shash algorithms set .cra_flags = CRYPTO_ALG_TYPE_SHASH. But this is redundant with the C structure type ('struct shash_alg'), and crypto_register_shash() already sets the type flag automatically, clearing any type flag that was already there. Apparently the useless assignment has just been copy+pasted around. So, remove the useless assignment from all the shash algorithms. This patch shouldn't change any actual behavior. Signed-off-by: Eric Biggers --- arch/arm/crypto/ghash-ce-glue.c| 2 +- arch/arm/crypto/sha1-ce-glue.c | 1 - arch/arm/crypto/sha1_glue.c| 1 - arch/arm/crypto/sha1_neon_glue.c | 1 - arch/arm/crypto/sha2-ce-glue.c | 2 -- arch/arm/crypto/sha256_glue.c | 2 -- arch/arm/crypto/sha256_neon_glue.c | 2 -- arch/arm/crypto/sha512-glue.c | 2 -- arch/arm/crypto/sha512-neon-glue.c | 2 -- arch/arm64/crypto/aes-glue.c | 3 --- arch/arm64/crypto/ghash-ce-glue.c | 1 - arch/arm64/crypto/sha1-ce-glue.c | 1 - arch/arm64/crypto/sha2-ce-glue.c | 2 -- arch/arm64/crypto/sha256-glue.c| 4 arch/arm64/crypto/sha3-ce-glue.c | 4 arch/arm64/crypto/sha512-ce-glue.c | 2 -- arch/arm64/crypto/sha512-glue.c| 2 -- arch/arm64/crypto/sm3-ce-glue.c| 1 - arch/mips/cavium-octeon/crypto/octeon-md5.c| 1 - arch/mips/cavium-octeon/crypto/octeon-sha1.c | 1 - arch/mips/cavium-octeon/crypto/octeon-sha256.c | 2 -- arch/mips/cavium-octeon/crypto/octeon-sha512.c | 2 -- arch/powerpc/crypto/md5-glue.c | 1 - arch/powerpc/crypto/sha1-spe-glue.c| 1 - arch/powerpc/crypto/sha1.c | 1 - arch/powerpc/crypto/sha256-spe-glue.c | 2 -- arch/s390/crypto/ghash_s390.c | 1 - arch/s390/crypto/sha1_s390.c | 1 - arch/s390/crypto/sha256_s390.c | 2 -- arch/s390/crypto/sha512_s390.c | 2 -- arch/sparc/crypto/md5_glue.c | 1 - arch/sparc/crypto/sha1_glue.c | 1 - arch/sparc/crypto/sha256_glue.c| 2 -- arch/sparc/crypto/sha512_glue.c| 2 -- arch/x86/crypto/ghash-clmulni-intel_glue.c | 3 +-- arch/x86/crypto/poly1305_glue.c| 1 - arch/x86/crypto/sha1_ssse3_glue.c | 4 arch/x86/crypto/sha256_ssse3_glue.c| 8 arch/x86/crypto/sha512_ssse3_glue.c| 6 -- crypto/crypto_null.c | 1 - crypto/ghash-generic.c | 1 - crypto/md4.c | 1 - crypto/md5.c | 1 - crypto/poly1305_generic.c | 1 - crypto/rmd128.c| 1 - crypto/rmd160.c| 1 - crypto/rmd256.c| 1 - crypto/rmd320.c| 1 - crypto/sha1_generic.c | 1 - crypto/sha256_generic.c| 2 -- crypto/sha3_generic.c | 4 crypto/sha512_generic.c| 2 -- crypto/sm3_generic.c | 1 - crypto/tgr192.c| 3 --- crypto/wp512.c | 3 --- drivers/crypto/nx/nx-aes-xcbc.c| 1 - drivers/crypto/nx/nx-sha256.c | 1 - drivers/crypto/nx/nx-sha512.c | 1 - drivers/crypto/padlock-sha.c | 8 ++-- drivers/crypto/vmx/ghash.c | 2 +- drivers/staging/skein/skein_generic.c | 3 --- 61 files changed, 5 insertions(+), 116 deletions(-) diff --git a/arch/arm/crypto/ghash-ce-glue.c b/arch/arm/crypto/ghash-ce-glue.c index d9bb52cae2ac9..f93c0761929d5 100644 --- a/arch/arm/crypto/ghash-ce-glue.c +++ b/arch/arm/crypto/ghash-ce-glue.c @@ -152,7 +152,7 @@ static struct shash_alg ghash_alg = { .cra_name = "__ghash", .cra_driver_name = "__driver-ghash-ce", .cra_priority = 0, - .cra_flags = CRYPTO_ALG_TYPE_SHASH | CRYPTO_ALG_INTERNAL, + .cra_flags = CRYPTO_ALG_INTERNAL, .cra_blocksize = GHASH_BLOCK_SIZE, .cra_ctxsize= sizeof(struct ghash_key), .cra_module = THIS_MODULE, diff --git a/arch/arm/crypto/sha1-ce-glue.c b/arch/arm/crypto/sha1-ce-glue.c index 555f72b5e659b..b732522e20f80 100644 --- a/arch/arm/crypto/sha1-ce-glue.c +++ b/arch/arm/crypto/sha1-ce-glue.c @@ -75,7 +75,6 @@ static struct shash_alg alg = { .cra_name = "sha1", .cra_driver_name= "sha1-ce", .cra_priority = 200, -
[PATCH 2/6] crypto: ahash - remove useless setting of type flags
From: Eric Biggers Many ahash algorithms set .cra_flags = CRYPTO_ALG_TYPE_AHASH. But this is redundant with the C structure type ('struct ahash_alg'), and crypto_register_ahash() already sets the type flag automatically, clearing any type flag that was already there. Apparently the useless assignment has just been copy+pasted around. So, remove the useless assignment from all the ahash algorithms. This patch shouldn't change any actual behavior. Signed-off-by: Eric Biggers --- arch/arm/crypto/ghash-ce-glue.c| 2 +- arch/x86/crypto/ghash-clmulni-intel_glue.c | 2 +- arch/x86/crypto/sha1-mb/sha1_mb.c | 7 ++--- arch/x86/crypto/sha256-mb/sha256_mb.c | 8 ++--- arch/x86/crypto/sha512-mb/sha512_mb.c | 8 ++--- drivers/crypto/axis/artpec6_crypto.c | 14 - drivers/crypto/bcm/cipher.c| 5 ++- drivers/crypto/caam/caamhash.c | 2 +- drivers/crypto/ccp/ccp-crypto-aes-cmac.c | 2 +- drivers/crypto/ccp/ccp-crypto-sha.c| 2 +- drivers/crypto/ccree/cc_hash.c | 3 +- drivers/crypto/chelsio/chcr_algo.c | 3 +- drivers/crypto/n2_core.c | 3 +- drivers/crypto/omap-sham.c | 36 -- drivers/crypto/s5p-sss.c | 9 ++ drivers/crypto/sahara.c| 6 ++-- drivers/crypto/stm32/stm32-hash.c | 24 +-- drivers/crypto/sunxi-ss/sun4i-ss-core.c| 2 -- drivers/crypto/talitos.c | 36 -- drivers/crypto/ux500/hash/hash_core.c | 12 +++- 20 files changed, 67 insertions(+), 119 deletions(-) diff --git a/arch/arm/crypto/ghash-ce-glue.c b/arch/arm/crypto/ghash-ce-glue.c index f93c0761929d5..124fee03246e2 100644 --- a/arch/arm/crypto/ghash-ce-glue.c +++ b/arch/arm/crypto/ghash-ce-glue.c @@ -308,7 +308,7 @@ static struct ahash_alg ghash_async_alg = { .cra_name = "ghash", .cra_driver_name = "ghash-ce", .cra_priority = 300, - .cra_flags = CRYPTO_ALG_TYPE_AHASH | CRYPTO_ALG_ASYNC, + .cra_flags = CRYPTO_ALG_ASYNC, .cra_blocksize = GHASH_BLOCK_SIZE, .cra_type = _ahash_type, .cra_ctxsize= sizeof(struct ghash_async_ctx), diff --git a/arch/x86/crypto/ghash-clmulni-intel_glue.c b/arch/x86/crypto/ghash-clmulni-intel_glue.c index b1430e92e6382..a3de43b5e20a0 100644 --- a/arch/x86/crypto/ghash-clmulni-intel_glue.c +++ b/arch/x86/crypto/ghash-clmulni-intel_glue.c @@ -314,7 +314,7 @@ static struct ahash_alg ghash_async_alg = { .cra_driver_name= "ghash-clmulni", .cra_priority = 400, .cra_ctxsize= sizeof(struct ghash_async_ctx), - .cra_flags = CRYPTO_ALG_TYPE_AHASH | CRYPTO_ALG_ASYNC, + .cra_flags = CRYPTO_ALG_ASYNC, .cra_blocksize = GHASH_BLOCK_SIZE, .cra_type = _ahash_type, .cra_module = THIS_MODULE, diff --git a/arch/x86/crypto/sha1-mb/sha1_mb.c b/arch/x86/crypto/sha1-mb/sha1_mb.c index 4b2430274935b..f7929ba6cfb43 100644 --- a/arch/x86/crypto/sha1-mb/sha1_mb.c +++ b/arch/x86/crypto/sha1-mb/sha1_mb.c @@ -746,9 +746,8 @@ static struct ahash_alg sha1_mb_areq_alg = { * algo may not have completed before hashing thread * sleep */ - .cra_flags = CRYPTO_ALG_TYPE_AHASH | - CRYPTO_ALG_ASYNC | - CRYPTO_ALG_INTERNAL, + .cra_flags = CRYPTO_ALG_ASYNC | + CRYPTO_ALG_INTERNAL, .cra_blocksize = SHA1_BLOCK_SIZE, .cra_module = THIS_MODULE, .cra_list = LIST_HEAD_INIT @@ -879,7 +878,7 @@ static struct ahash_alg sha1_mb_async_alg = { * priority at runtime using NETLINK_CRYPTO. */ .cra_priority = 50, - .cra_flags = CRYPTO_ALG_TYPE_AHASH | CRYPTO_ALG_ASYNC, + .cra_flags = CRYPTO_ALG_ASYNC, .cra_blocksize = SHA1_BLOCK_SIZE, .cra_type = _ahash_type, .cra_module = THIS_MODULE, diff --git a/arch/x86/crypto/sha256-mb/sha256_mb.c b/arch/x86/crypto/sha256-mb/sha256_mb.c index 4c07f6c12c37b..59a47048920ab 100644 --- a/arch/x86/crypto/sha256-mb/sha256_mb.c +++ b/arch/x86/crypto/sha256-mb/sha256_mb.c @@ -745,9 +745,8 @@ static struct ahash_alg sha256_mb_areq_alg = {
[PATCH 3/6] crypto: ahash - remove useless setting of cra_type
From: Eric Biggers Some ahash algorithms set .cra_type = _ahash_type. But this is redundant with the C structure type ('struct ahash_alg'), and crypto_register_ahash() already sets the .cra_type automatically. Apparently the useless assignment has just been copy+pasted around. So, remove the useless assignment from all the ahash algorithms. This patch shouldn't change any actual behavior. Signed-off-by: Eric Biggers --- arch/arm/crypto/ghash-ce-glue.c| 1 - arch/x86/crypto/ghash-clmulni-intel_glue.c | 1 - arch/x86/crypto/sha1-mb/sha1_mb.c | 1 - arch/x86/crypto/sha256-mb/sha256_mb.c | 1 - arch/x86/crypto/sha512-mb/sha512_mb.c | 1 - drivers/crypto/bcm/cipher.c| 1 - drivers/crypto/caam/caamhash.c | 1 - drivers/crypto/ccp/ccp-crypto-aes-cmac.c | 1 - drivers/crypto/ccp/ccp-crypto-sha.c| 1 - drivers/crypto/ccree/cc_hash.c | 1 - drivers/crypto/chelsio/chcr_algo.c | 1 - drivers/crypto/sunxi-ss/sun4i-ss-core.c| 2 -- drivers/crypto/talitos.c | 1 - drivers/crypto/ux500/hash/hash_core.c | 3 --- 14 files changed, 17 deletions(-) diff --git a/arch/arm/crypto/ghash-ce-glue.c b/arch/arm/crypto/ghash-ce-glue.c index 124fee03246e2..8930fc4e7c228 100644 --- a/arch/arm/crypto/ghash-ce-glue.c +++ b/arch/arm/crypto/ghash-ce-glue.c @@ -310,7 +310,6 @@ static struct ahash_alg ghash_async_alg = { .cra_priority = 300, .cra_flags = CRYPTO_ALG_ASYNC, .cra_blocksize = GHASH_BLOCK_SIZE, - .cra_type = _ahash_type, .cra_ctxsize= sizeof(struct ghash_async_ctx), .cra_module = THIS_MODULE, .cra_init = ghash_async_init_tfm, diff --git a/arch/x86/crypto/ghash-clmulni-intel_glue.c b/arch/x86/crypto/ghash-clmulni-intel_glue.c index a3de43b5e20a0..3582ae885ee11 100644 --- a/arch/x86/crypto/ghash-clmulni-intel_glue.c +++ b/arch/x86/crypto/ghash-clmulni-intel_glue.c @@ -316,7 +316,6 @@ static struct ahash_alg ghash_async_alg = { .cra_ctxsize= sizeof(struct ghash_async_ctx), .cra_flags = CRYPTO_ALG_ASYNC, .cra_blocksize = GHASH_BLOCK_SIZE, - .cra_type = _ahash_type, .cra_module = THIS_MODULE, .cra_init = ghash_async_init_tfm, .cra_exit = ghash_async_exit_tfm, diff --git a/arch/x86/crypto/sha1-mb/sha1_mb.c b/arch/x86/crypto/sha1-mb/sha1_mb.c index f7929ba6cfb43..b93805664c1dd 100644 --- a/arch/x86/crypto/sha1-mb/sha1_mb.c +++ b/arch/x86/crypto/sha1-mb/sha1_mb.c @@ -880,7 +880,6 @@ static struct ahash_alg sha1_mb_async_alg = { .cra_priority = 50, .cra_flags = CRYPTO_ALG_ASYNC, .cra_blocksize = SHA1_BLOCK_SIZE, - .cra_type = _ahash_type, .cra_module = THIS_MODULE, .cra_list = LIST_HEAD_INIT(sha1_mb_async_alg.halg.base.cra_list), .cra_init = sha1_mb_async_init_tfm, diff --git a/arch/x86/crypto/sha256-mb/sha256_mb.c b/arch/x86/crypto/sha256-mb/sha256_mb.c index 59a47048920ab..97c5fc43e115d 100644 --- a/arch/x86/crypto/sha256-mb/sha256_mb.c +++ b/arch/x86/crypto/sha256-mb/sha256_mb.c @@ -879,7 +879,6 @@ static struct ahash_alg sha256_mb_async_alg = { .cra_priority = 50, .cra_flags = CRYPTO_ALG_ASYNC, .cra_blocksize = SHA256_BLOCK_SIZE, - .cra_type = _ahash_type, .cra_module = THIS_MODULE, .cra_list = LIST_HEAD_INIT (sha256_mb_async_alg.halg.base.cra_list), diff --git a/arch/x86/crypto/sha512-mb/sha512_mb.c b/arch/x86/crypto/sha512-mb/sha512_mb.c index d3a758ac3ade0..26b85678012d0 100644 --- a/arch/x86/crypto/sha512-mb/sha512_mb.c +++ b/arch/x86/crypto/sha512-mb/sha512_mb.c @@ -913,7 +913,6 @@ static struct ahash_alg sha512_mb_async_alg = { .cra_priority = 50, .cra_flags = CRYPTO_ALG_ASYNC, .cra_blocksize = SHA512_BLOCK_SIZE, - .cra_type = _ahash_type, .cra_module = THIS_MODULE, .cra_list = LIST_HEAD_INIT (sha512_mb_async_alg.halg.base.cra_list), diff --git a/drivers/crypto/bcm/cipher.c b/drivers/crypto/bcm/cipher.c index 2f85a989c4761..4e2babd6b89d7 100644 --- a/drivers/crypto/bcm/cipher.c +++
[PATCH 0/6] crypto: remove redundant type specifications
Originally, algorithms had to declare their type in .cra_flags as a CRYPTO_ALG_TYPE_* value. Some types of algorithms such as "cipher" still have to do this. But now most algorithm types use different top-level C data structures, and different registration and allocation functions. And for these, the core crypto API automatically sets the .cra_flags type as well as .cra_type, mainly for its own use (users shouldn't care about these). Yet, many algorithms are still explicitly setting their .cra_flags type and sometimes even .cra_type, which is confusing as this actually does nothing. Apparently, people are just copy-and-pasting this from existing code without understanding it. Therefore, this patchset removes the useless initializations, as well as useless type flags passed to the strongly-typed tfm allocators. This doesn't change any actual behavior, AFAIK. For now I didn't bother with 'blkcipher' and 'ablkcipher' algorithms, since those should eventually be migrated to 'skcipher' anyway. Eric Biggers (6): crypto: shash - remove useless setting of type flags crypto: ahash - remove useless setting of type flags crypto: ahash - remove useless setting of cra_type crypto: aead - remove useless setting of type flags crypto: skcipher - remove useless setting of type flags crypto: remove redundant type flags from tfm allocation Documentation/crypto/api-samples.rst | 2 +- arch/arm/crypto/ghash-ce-glue.c | 5 +-- arch/arm/crypto/sha1-ce-glue.c| 1 - arch/arm/crypto/sha1_glue.c | 1 - arch/arm/crypto/sha1_neon_glue.c | 1 - arch/arm/crypto/sha2-ce-glue.c| 2 - arch/arm/crypto/sha256_glue.c | 2 - arch/arm/crypto/sha256_neon_glue.c| 2 - arch/arm/crypto/sha512-glue.c | 2 - arch/arm/crypto/sha512-neon-glue.c| 2 - arch/arm64/crypto/aes-glue.c | 3 -- arch/arm64/crypto/ghash-ce-glue.c | 1 - arch/arm64/crypto/sha1-ce-glue.c | 1 - arch/arm64/crypto/sha2-ce-glue.c | 2 - arch/arm64/crypto/sha256-glue.c | 4 -- arch/arm64/crypto/sha3-ce-glue.c | 4 -- arch/arm64/crypto/sha512-ce-glue.c| 2 - arch/arm64/crypto/sha512-glue.c | 2 - arch/arm64/crypto/sm3-ce-glue.c | 1 - arch/mips/cavium-octeon/crypto/octeon-md5.c | 1 - arch/mips/cavium-octeon/crypto/octeon-sha1.c | 1 - .../mips/cavium-octeon/crypto/octeon-sha256.c | 2 - .../mips/cavium-octeon/crypto/octeon-sha512.c | 2 - arch/powerpc/crypto/md5-glue.c| 1 - arch/powerpc/crypto/sha1-spe-glue.c | 1 - arch/powerpc/crypto/sha1.c| 1 - arch/powerpc/crypto/sha256-spe-glue.c | 2 - arch/s390/crypto/aes_s390.c | 1 - arch/s390/crypto/ghash_s390.c | 1 - arch/s390/crypto/sha1_s390.c | 1 - arch/s390/crypto/sha256_s390.c| 2 - arch/s390/crypto/sha512_s390.c| 2 - arch/sparc/crypto/md5_glue.c | 1 - arch/sparc/crypto/sha1_glue.c | 1 - arch/sparc/crypto/sha256_glue.c | 2 - arch/sparc/crypto/sha512_glue.c | 2 - arch/x86/crypto/ghash-clmulni-intel_glue.c| 6 +-- arch/x86/crypto/poly1305_glue.c | 1 - arch/x86/crypto/sha1-mb/sha1_mb.c | 8 ++-- arch/x86/crypto/sha1_ssse3_glue.c | 4 -- arch/x86/crypto/sha256-mb/sha256_mb.c | 9 ++--- arch/x86/crypto/sha256_ssse3_glue.c | 8 arch/x86/crypto/sha512-mb/sha512_mb.c | 9 ++--- arch/x86/crypto/sha512_ssse3_glue.c | 6 --- crypto/aegis128.c | 1 - crypto/aegis128l.c| 1 - crypto/aegis256.c | 1 - crypto/crypto_null.c | 1 - crypto/ghash-generic.c| 1 - crypto/md4.c | 1 - crypto/md5.c | 1 - crypto/morus1280.c| 1 - crypto/morus640.c | 1 - crypto/poly1305_generic.c | 1 - crypto/rmd128.c | 1 - crypto/rmd160.c | 1 - crypto/rmd256.c | 1 - crypto/rmd320.c | 1 - crypto/sha1_generic.c | 1 - crypto/sha256_generic.c | 2 - crypto/sha3_generic.c | 4 -- crypto/sha512_generic.c | 2 - crypto/sm3_generic.c | 1 - crypto/tgr192.c | 3 -- crypto/wp512.c| 3 -- drivers/crypto/amcc/crypto4xx_core.c | 18 +++-- drivers/crypto/atmel-sha.c
[PATCH 5/6] crypto: skcipher - remove useless setting of type flags
From: Eric Biggers Some skcipher algorithms set .cra_flags = CRYPTO_ALG_TYPE_SKCIPHER. But this is redundant with the C structure type ('struct skcipher_alg'), and crypto_register_skcipher() already sets the type flag automatically, clearing any type flag that was already there. Apparently the useless assignment has just been copy+pasted around. So, remove the useless assignment from all the skcipher algorithms. This patch shouldn't change any actual behavior. Signed-off-by: Eric Biggers --- drivers/crypto/amcc/crypto4xx_core.c | 18 ++ drivers/crypto/axis/artpec6_crypto.c | 12 drivers/crypto/ccree/cc_cipher.c | 3 +-- drivers/crypto/inside-secure/safexcel_cipher.c | 4 ++-- drivers/crypto/sunxi-ss/sun4i-ss-core.c| 16 +--- 5 files changed, 18 insertions(+), 35 deletions(-) diff --git a/drivers/crypto/amcc/crypto4xx_core.c b/drivers/crypto/amcc/crypto4xx_core.c index 05981ccd9901a..6eaec9ba0f68b 100644 --- a/drivers/crypto/amcc/crypto4xx_core.c +++ b/drivers/crypto/amcc/crypto4xx_core.c @@ -1132,8 +1132,7 @@ static struct crypto4xx_alg_common crypto4xx_alg[] = { .cra_name = "cbc(aes)", .cra_driver_name = "cbc-aes-ppc4xx", .cra_priority = CRYPTO4XX_CRYPTO_PRIORITY, - .cra_flags = CRYPTO_ALG_TYPE_SKCIPHER | - CRYPTO_ALG_ASYNC | + .cra_flags = CRYPTO_ALG_ASYNC | CRYPTO_ALG_KERN_DRIVER_ONLY, .cra_blocksize = AES_BLOCK_SIZE, .cra_ctxsize = sizeof(struct crypto4xx_ctx), @@ -1153,8 +1152,7 @@ static struct crypto4xx_alg_common crypto4xx_alg[] = { .cra_name = "cfb(aes)", .cra_driver_name = "cfb-aes-ppc4xx", .cra_priority = CRYPTO4XX_CRYPTO_PRIORITY, - .cra_flags = CRYPTO_ALG_TYPE_SKCIPHER | - CRYPTO_ALG_ASYNC | + .cra_flags = CRYPTO_ALG_ASYNC | CRYPTO_ALG_KERN_DRIVER_ONLY, .cra_blocksize = AES_BLOCK_SIZE, .cra_ctxsize = sizeof(struct crypto4xx_ctx), @@ -1174,8 +1172,7 @@ static struct crypto4xx_alg_common crypto4xx_alg[] = { .cra_name = "ctr(aes)", .cra_driver_name = "ctr-aes-ppc4xx", .cra_priority = CRYPTO4XX_CRYPTO_PRIORITY, - .cra_flags = CRYPTO_ALG_TYPE_SKCIPHER | - CRYPTO_ALG_NEED_FALLBACK | + .cra_flags = CRYPTO_ALG_NEED_FALLBACK | CRYPTO_ALG_ASYNC | CRYPTO_ALG_KERN_DRIVER_ONLY, .cra_blocksize = AES_BLOCK_SIZE, @@ -1196,8 +1193,7 @@ static struct crypto4xx_alg_common crypto4xx_alg[] = { .cra_name = "rfc3686(ctr(aes))", .cra_driver_name = "rfc3686-ctr-aes-ppc4xx", .cra_priority = CRYPTO4XX_CRYPTO_PRIORITY, - .cra_flags = CRYPTO_ALG_TYPE_SKCIPHER | - CRYPTO_ALG_ASYNC | + .cra_flags = CRYPTO_ALG_ASYNC | CRYPTO_ALG_KERN_DRIVER_ONLY, .cra_blocksize = AES_BLOCK_SIZE, .cra_ctxsize = sizeof(struct crypto4xx_ctx), @@ -1217,8 +1213,7 @@ static struct crypto4xx_alg_common crypto4xx_alg[] = { .cra_name = "ecb(aes)", .cra_driver_name = "ecb-aes-ppc4xx", .cra_priority = CRYPTO4XX_CRYPTO_PRIORITY, - .cra_flags = CRYPTO_ALG_TYPE_SKCIPHER | - CRYPTO_ALG_ASYNC | + .cra_flags = CRYPTO_ALG_ASYNC | CRYPTO_ALG_KERN_DRIVER_ONLY, .cra_blocksize = AES_BLOCK_SIZE, .cra_ctxsize = sizeof(struct crypto4xx_ctx), @@ -1237,8 +1232,7 @@ static struct crypto4xx_alg_common crypto4xx_alg[] = { .cra_name = "ofb(aes)", .cra_driver_name = "ofb-aes-ppc4xx", .cra_priority = CRYPTO4XX_CRYPTO_PRIORITY, - .cra_flags = CRYPTO_ALG_TYPE_SKCIPHER | - CRYPTO_ALG_ASYNC | + .cra_flags = CRYPTO_ALG_ASYNC | CRYPTO_ALG_KERN_DRIVER_ONLY, .cra_blocksize = AES_BLOCK_SIZE, .cra_ctxsize = sizeof(struct crypto4xx_ctx), diff --git a/drivers/crypto/axis/artpec6_crypto.c b/drivers/crypto/axis/artpec6_crypto.c index 59392178d8bc6..7f07a5085e9bd 100644 --- a/drivers/crypto/axis/artpec6_crypto.c +++ b/drivers/crypto/axis/artpec6_crypto.c
[PATCH 4/6] crypto: aead - remove useless setting of type flags
From: Eric Biggers Some aead algorithms set .cra_flags = CRYPTO_ALG_TYPE_AEAD. But this is redundant with the C structure type ('struct aead_alg'), and crypto_register_aead() already sets the type flag automatically, clearing any type flag that was already there. Apparently the useless assignment has just been copy+pasted around. So, remove the useless assignment from all the aead algorithms. This patch shouldn't change any actual behavior. Signed-off-by: Eric Biggers --- arch/s390/crypto/aes_s390.c| 1 - crypto/aegis128.c | 1 - crypto/aegis128l.c | 1 - crypto/aegis256.c | 1 - crypto/morus1280.c | 1 - crypto/morus640.c | 1 - drivers/crypto/axis/artpec6_crypto.c | 2 +- drivers/crypto/bcm/cipher.c| 2 +- drivers/crypto/chelsio/chcr_algo.c | 3 +-- drivers/crypto/inside-secure/safexcel_cipher.c | 10 +- 10 files changed, 8 insertions(+), 15 deletions(-) diff --git a/arch/s390/crypto/aes_s390.c b/arch/s390/crypto/aes_s390.c index ad47abd086308..c54cb26eb7f50 100644 --- a/arch/s390/crypto/aes_s390.c +++ b/arch/s390/crypto/aes_s390.c @@ -1035,7 +1035,6 @@ static struct aead_alg gcm_aes_aead = { .chunksize = AES_BLOCK_SIZE, .base = { - .cra_flags = CRYPTO_ALG_TYPE_AEAD, .cra_blocksize = 1, .cra_ctxsize= sizeof(struct s390_aes_ctx), .cra_priority = 900, diff --git a/crypto/aegis128.c b/crypto/aegis128.c index 38271303ce16c..c22f4414856d9 100644 --- a/crypto/aegis128.c +++ b/crypto/aegis128.c @@ -429,7 +429,6 @@ static struct aead_alg crypto_aegis128_alg = { .chunksize = AEGIS_BLOCK_SIZE, .base = { - .cra_flags = CRYPTO_ALG_TYPE_AEAD, .cra_blocksize = 1, .cra_ctxsize = sizeof(struct aegis_ctx), .cra_alignmask = 0, diff --git a/crypto/aegis128l.c b/crypto/aegis128l.c index 64dc2654b863e..b6fb21ebdc3e8 100644 --- a/crypto/aegis128l.c +++ b/crypto/aegis128l.c @@ -493,7 +493,6 @@ static struct aead_alg crypto_aegis128l_alg = { .chunksize = AEGIS128L_CHUNK_SIZE, .base = { - .cra_flags = CRYPTO_ALG_TYPE_AEAD, .cra_blocksize = 1, .cra_ctxsize = sizeof(struct aegis_ctx), .cra_alignmask = 0, diff --git a/crypto/aegis256.c b/crypto/aegis256.c index a489d741d33ad..11f0f8ec9c7c2 100644 --- a/crypto/aegis256.c +++ b/crypto/aegis256.c @@ -444,7 +444,6 @@ static struct aead_alg crypto_aegis256_alg = { .chunksize = AEGIS_BLOCK_SIZE, .base = { - .cra_flags = CRYPTO_ALG_TYPE_AEAD, .cra_blocksize = 1, .cra_ctxsize = sizeof(struct aegis_ctx), .cra_alignmask = 0, diff --git a/crypto/morus1280.c b/crypto/morus1280.c index 6180b2557836a..d057cf5ac4a8b 100644 --- a/crypto/morus1280.c +++ b/crypto/morus1280.c @@ -514,7 +514,6 @@ static struct aead_alg crypto_morus1280_alg = { .chunksize = MORUS1280_BLOCK_SIZE, .base = { - .cra_flags = CRYPTO_ALG_TYPE_AEAD, .cra_blocksize = 1, .cra_ctxsize = sizeof(struct morus1280_ctx), .cra_alignmask = 0, diff --git a/crypto/morus640.c b/crypto/morus640.c index 5eede3749e646..1ca76e54281bf 100644 --- a/crypto/morus640.c +++ b/crypto/morus640.c @@ -511,7 +511,6 @@ static struct aead_alg crypto_morus640_alg = { .chunksize = MORUS640_BLOCK_SIZE, .base = { - .cra_flags = CRYPTO_ALG_TYPE_AEAD, .cra_blocksize = 1, .cra_ctxsize = sizeof(struct morus640_ctx), .cra_alignmask = 0, diff --git a/drivers/crypto/axis/artpec6_crypto.c b/drivers/crypto/axis/artpec6_crypto.c index 049af6de3cb69..59392178d8bc6 100644 --- a/drivers/crypto/axis/artpec6_crypto.c +++ b/drivers/crypto/axis/artpec6_crypto.c @@ -2964,7 +2964,7 @@ static struct aead_alg aead_algos[] = { .cra_name = "gcm(aes)", .cra_driver_name = "artpec-gcm-aes", .cra_priority = 300, - .cra_flags = CRYPTO_ALG_TYPE_AEAD | CRYPTO_ALG_ASYNC | + .cra_flags = CRYPTO_ALG_ASYNC | CRYPTO_ALG_KERN_DRIVER_ONLY, .cra_blocksize = 1, .cra_ctxsize = sizeof(struct artpec6_cryptotfm_context), diff --git a/drivers/crypto/bcm/cipher.c b/drivers/crypto/bcm/cipher.c index 4e2babd6b89d7..2d1f1db9f8074 100644 --- a/drivers/crypto/bcm/cipher.c +++ b/drivers/crypto/bcm/cipher.c @@ -4689,7 +4689,7 @@ static int spu_register_aead(struct iproc_alg_s *driver_alg) aead->base.cra_ctxsize = sizeof(struct