From: Eric Biggers <ebiggers@kernel.org>
To: linux-crypto@vger.kernel.org
Subject: [PATCH 0/8] crypto: remove the CRYPTO_TFM_RES_* flags
Date: Mon, 30 Dec 2019 21:19:30 -0600 [thread overview]
Message-ID: <20191231031938.241705-1-ebiggers@kernel.org> (raw)
The CRYPTO_TFM_RES_* flags are pointless since they are never checked
anywhere. And it's not really possible for anyone to start using them
without a lot of work, since many drivers aren't setting them or are
setting them when they shouldn't.
Also, if we ever actually need to start distinguishing ->setkey() errors
better (which is somewhat unlikely, as it's been a long time with no one
caring), we'd probably be much better off just using different return
values, like -EINVAL if the key is invalid for the algorithm vs.
-EKEYREJECTED if the key was rejected by a policy like "no weak keys".
That would be much simpler, less error-prone, and easier to test.
So let's just remove these flags for now. This gets rid of a lot of
pointless boilerplate code.
Patches 6 and 8 are a bit large since they touch so many drivers, though
the changes are straightforward and it would seem overkill to do this as
a series of 70 separate patches. But let me know if it's needed.
Eric Biggers (8):
crypto: chelsio - fix writing tfm flags to wrong place
crypto: artpec6 - return correct error code for failed setkey()
crypto: atmel-sha - fix error handling when setting hmac key
crypto: remove unused tfm result flags
crypto: remove CRYPTO_TFM_RES_BAD_BLOCK_LEN
crypto: remove CRYPTO_TFM_RES_BAD_KEY_LEN
crypto: remove CRYPTO_TFM_RES_WEAK_KEY
crypto: remove propagation of CRYPTO_TFM_RES_* flags
arch/arm/crypto/aes-ce-glue.c | 14 +-----
arch/arm/crypto/crc32-ce-glue.c | 4 +-
arch/arm/crypto/ghash-ce-glue.c | 11 +---
arch/arm64/crypto/aes-ce-ccm-glue.c | 8 +--
arch/arm64/crypto/aes-ce-glue.c | 8 +--
arch/arm64/crypto/aes-glue.c | 31 ++----------
arch/arm64/crypto/ghash-ce-glue.c | 8 +--
arch/mips/crypto/crc32-mips.c | 4 +-
arch/powerpc/crypto/aes-spe-glue.c | 18 ++-----
arch/powerpc/crypto/crc32c-vpmsum_glue.c | 4 +-
arch/s390/crypto/aes_s390.c | 27 ++--------
arch/s390/crypto/crc32-vx.c | 8 +--
arch/s390/crypto/ghash_s390.c | 4 +-
arch/s390/crypto/paes_s390.c | 25 +++-------
arch/sparc/crypto/aes_glue.c | 2 -
arch/sparc/crypto/camellia_glue.c | 5 +-
arch/sparc/crypto/crc32c_glue.c | 4 +-
arch/x86/crypto/aegis128-aesni-glue.c | 4 +-
arch/x86/crypto/aesni-intel_glue.c | 10 ++--
arch/x86/crypto/blake2s-glue.c | 4 +-
arch/x86/crypto/camellia_aesni_avx2_glue.c | 3 +-
arch/x86/crypto/camellia_aesni_avx_glue.c | 9 ++--
arch/x86/crypto/camellia_glue.c | 9 ++--
arch/x86/crypto/cast6_avx_glue.c | 6 +--
arch/x86/crypto/crc32-pclmul_glue.c | 4 +-
arch/x86/crypto/crc32c-intel_glue.c | 4 +-
arch/x86/crypto/ghash-clmulni-intel_glue.c | 11 +---
arch/x86/crypto/twofish_avx_glue.c | 6 +--
arch/x86/include/asm/crypto/camellia.h | 2 +-
crypto/adiantum.c | 8 ---
crypto/aegis128-core.c | 4 +-
crypto/aes_generic.c | 18 +++----
crypto/anubis.c | 2 -
crypto/authenc.c | 12 +----
crypto/authencesn.c | 12 +----
crypto/blake2b_generic.c | 4 +-
crypto/blake2s_generic.c | 4 +-
crypto/camellia_generic.c | 5 +-
crypto/cast6_generic.c | 10 ++--
crypto/ccm.c | 20 ++------
crypto/chacha20poly1305.c | 7 +--
crypto/cipher.c | 5 +-
crypto/crc32_generic.c | 4 +-
crypto/crc32c_generic.c | 4 +-
crypto/cryptd.c | 13 +----
crypto/ctr.c | 7 +--
crypto/cts.c | 6 +--
crypto/des_generic.c | 10 +---
crypto/essiv.c | 26 ++--------
crypto/gcm.c | 19 +------
crypto/ghash-generic.c | 4 +-
crypto/lrw.c | 2 -
crypto/michael_mic.c | 4 +-
crypto/simd.c | 12 +----
crypto/skcipher.c | 10 +---
crypto/sm4_generic.c | 16 ++----
crypto/twofish_common.c | 8 +--
crypto/vmac.c | 4 +-
crypto/xts.c | 8 +--
crypto/xxhash_generic.c | 4 +-
.../allwinner/sun4i-ss/sun4i-ss-cipher.c | 1 -
.../allwinner/sun8i-ce/sun8i-ce-cipher.c | 1 -
.../allwinner/sun8i-ss/sun8i-ss-cipher.c | 2 -
drivers/crypto/amcc/crypto4xx_alg.c | 31 ++----------
drivers/crypto/amlogic/amlogic-gxl-cipher.c | 1 -
drivers/crypto/atmel-aes.c | 14 ++----
drivers/crypto/atmel-authenc.h | 3 +-
drivers/crypto/atmel-sha.c | 18 ++-----
drivers/crypto/axis/artpec6_crypto.c | 10 +---
drivers/crypto/bcm/cipher.c | 17 +------
drivers/crypto/caam/caamalg.c | 33 +++---------
drivers/crypto/caam/caamalg_qi.c | 44 ++++------------
drivers/crypto/caam/caamalg_qi2.c | 47 ++++-------------
drivers/crypto/caam/caamhash.c | 9 +---
drivers/crypto/cavium/cpt/cptvf_algs.c | 2 -
drivers/crypto/cavium/nitrox/nitrox_aead.c | 4 +-
.../crypto/cavium/nitrox/nitrox_skcipher.c | 12 ++---
drivers/crypto/ccp/ccp-crypto-aes-cmac.c | 1 -
drivers/crypto/ccp/ccp-crypto-aes-galois.c | 1 -
drivers/crypto/ccp/ccp-crypto-aes.c | 1 -
drivers/crypto/ccp/ccp-crypto-sha.c | 4 +-
drivers/crypto/ccree/cc_aead.c | 21 +++-----
drivers/crypto/ccree/cc_cipher.c | 4 --
drivers/crypto/ccree/cc_hash.c | 6 ---
drivers/crypto/chelsio/chcr_algo.c | 50 ++-----------------
drivers/crypto/geode-aes.c | 24 ++-------
.../crypto/inside-secure/safexcel_cipher.c | 43 ++++------------
drivers/crypto/inside-secure/safexcel_hash.c | 22 ++------
drivers/crypto/ixp4xx_crypto.c | 31 ++----------
drivers/crypto/marvell/cipher.c | 4 +-
drivers/crypto/mediatek/mtk-aes.c | 4 --
drivers/crypto/mxs-dcp.c | 12 +----
drivers/crypto/n2_core.c | 1 -
drivers/crypto/padlock-aes.c | 9 +---
drivers/crypto/picoxcell_crypto.c | 15 +-----
drivers/crypto/qat/qat_common/qat_algs.c | 6 +--
drivers/crypto/qce/sha.c | 2 -
.../crypto/rockchip/rk3288_crypto_skcipher.c | 4 +-
drivers/crypto/sahara.c | 9 +---
drivers/crypto/stm32/stm32-crc32.c | 4 +-
drivers/crypto/talitos.c | 15 ++----
drivers/crypto/ux500/cryp/cryp_core.c | 2 -
drivers/crypto/virtio/virtio_crypto_algs.c | 8 +--
include/crypto/cast6.h | 3 +-
include/crypto/internal/des.h | 23 ++-------
include/crypto/twofish.h | 2 +-
include/crypto/xts.h | 19 ++-----
include/linux/crypto.h | 7 ---
108 files changed, 218 insertions(+), 917 deletions(-)
--
2.24.1
next reply other threads:[~2019-12-31 3:21 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-12-31 3:19 Eric Biggers [this message]
2019-12-31 3:19 ` [PATCH 1/8] crypto: chelsio - fix writing tfm flags to wrong place Eric Biggers
2019-12-31 4:42 ` Eric Biggers
2019-12-31 3:19 ` [PATCH 2/8] crypto: artpec6 - return correct error code for failed setkey() Eric Biggers
2019-12-31 4:43 ` Eric Biggers
2020-01-01 16:04 ` Lars Persson
2019-12-31 3:19 ` [PATCH 3/8] crypto: atmel-sha - fix error handling when setting hmac key Eric Biggers
2019-12-31 4:45 ` Eric Biggers
2020-01-08 16:06 ` Tudor.Ambarus
2019-12-31 3:19 ` [PATCH 4/8] crypto: remove unused tfm result flags Eric Biggers
2019-12-31 3:19 ` [PATCH 5/8] crypto: remove CRYPTO_TFM_RES_BAD_BLOCK_LEN Eric Biggers
2019-12-31 3:19 ` [PATCH 6/8] crypto: remove CRYPTO_TFM_RES_BAD_KEY_LEN Eric Biggers
2020-01-06 15:00 ` Horia Geanta
2019-12-31 3:19 ` [PATCH 7/8] crypto: remove CRYPTO_TFM_RES_WEAK_KEY Eric Biggers
2019-12-31 3:19 ` [PATCH 8/8] crypto: remove propagation of CRYPTO_TFM_RES_* flags Eric Biggers
2019-12-31 8:14 ` [PATCH 0/8] crypto: remove the " Ard Biesheuvel
2020-01-09 5:14 ` Herbert Xu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20191231031938.241705-1-ebiggers@kernel.org \
--to=ebiggers@kernel.org \
--cc=linux-crypto@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox