Eric Biggers <ebiggers@xxxxxxxxxx> wrote: > This series removes the flags field from 'struct shash_desc', i.e. the > ability to specify CRYPTO_TFM_REQ_MAY_SLEEP for shashes, because: > > (1) It never actually does anything except in two cases, one of which is > broken, and the other of which is useless and also redundant with > the ahash_request flags. > > (2) Users are incorrectly passing MAY_SLEEP when they can't sleep, so if > we actually made any shash algorithm sleep, things would break. > > (3) If any users actually need preemption points, we can just add a > function that calls crypto_shash_update() multiple times with > preemption points. No need to pass a flag down to every algorithm. > > Eric Biggers (3): > crypto: shash - remove useless crypto_yield() in shash_ahash_digest() > crypto: nx - don't abuse shash MAY_SLEEP flag > crypto: shash - remove shash_desc::flags > > Documentation/crypto/api-samples.rst | 1 - > arch/arm/crypto/ghash-ce-glue.c | 3 --- > arch/x86/crypto/ghash-clmulni-intel_glue.c | 2 -- > arch/x86/power/hibernate.c | 1 - > crypto/adiantum.c | 1 - > crypto/asymmetric_keys/pkcs7_verify.c | 1 - > crypto/asymmetric_keys/verify_pefile.c | 1 - > crypto/asymmetric_keys/x509_public_key.c | 1 - > crypto/cryptd.c | 3 --- > crypto/drbg.c | 1 - > crypto/hmac.c | 11 ----------- > crypto/shash.c | 5 ----- > crypto/testmgr.c | 2 -- > drivers/block/drbd/drbd_receiver.c | 1 - > drivers/block/drbd/drbd_worker.c | 2 -- > drivers/crypto/axis/artpec6_crypto.c | 2 -- > drivers/crypto/bcm/cipher.c | 1 - > drivers/crypto/bcm/util.c | 1 - > drivers/crypto/ccp/ccp-crypto-sha.c | 2 -- > drivers/crypto/chelsio/chcr_algo.c | 2 -- > drivers/crypto/mediatek/mtk-sha.c | 3 --- > drivers/crypto/n2_core.c | 2 -- > drivers/crypto/nx/nx-aes-xcbc.c | 12 ++++-------- > drivers/crypto/nx/nx-sha256.c | 6 ++---- > drivers/crypto/nx/nx-sha512.c | 6 ++---- > drivers/crypto/omap-sham.c | 2 -- > drivers/crypto/padlock-sha.c | 5 ----- > drivers/crypto/qat/qat_common/qat_algs.c | 1 - > drivers/crypto/s5p-sss.c | 1 - > drivers/crypto/vmx/ghash.c | 1 - > drivers/infiniband/sw/rxe/rxe.h | 1 - > drivers/md/dm-crypt.c | 3 --- > drivers/md/dm-integrity.c | 2 -- > drivers/net/ppp/ppp_mppe.c | 1 - > drivers/net/wireless/intersil/orinoco/mic.c | 1 - > drivers/nfc/s3fwrn5/firmware.c | 1 - > drivers/staging/ks7010/ks_hostif.c | 1 - > drivers/staging/rtl8192e/rtllib_crypt_tkip.c | 1 - > .../rtl8192u/ieee80211/ieee80211_crypt_tkip.c | 1 - > drivers/target/iscsi/iscsi_target_auth.c | 1 - > drivers/thunderbolt/domain.c | 1 - > fs/cifs/misc.c | 1 - > fs/crypto/keyinfo.c | 1 - > fs/ecryptfs/crypto.c | 1 - > fs/ecryptfs/keystore.c | 1 - > fs/ext4/ext4.h | 1 - > fs/f2fs/f2fs.h | 1 - > fs/nfsd/nfs4recover.c | 1 - > fs/ubifs/auth.c | 6 ------ > fs/ubifs/replay.c | 2 -- > include/crypto/hash.h | 10 ++++++++-- > include/linux/jbd2.h | 1 - > kernel/kexec_file.c | 1 - > lib/crc-t10dif.c | 1 - > lib/digsig.c | 1 - > lib/libcrc32c.c | 1 - > net/bluetooth/amp.c | 1 - > net/bluetooth/smp.c | 1 - > net/sctp/auth.c | 1 - > net/sctp/sm_make_chunk.c | 2 -- > net/sunrpc/auth_gss/gss_krb5_crypto.c | 2 -- > net/sunrpc/auth_gss/gss_krb5_mech.c | 1 - > net/wireless/lib80211_crypt_tkip.c | 1 - > security/apparmor/crypto.c | 2 -- > security/integrity/evm/evm_crypto.c | 1 - > security/integrity/ima/ima_crypto.c | 4 ---- > security/keys/dh.c | 1 - > security/keys/encrypted-keys/encrypted.c | 1 - > security/keys/trusted.c | 1 - > 69 files changed, 16 insertions(+), 130 deletions(-) All applied. Thanks. -- Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt