This is a note to let you know that I've just added the patch titled crypto: hash - Add crypto_ahash_has_setkey to the 4.3-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: crypto-hash-add-crypto_ahash_has_setkey.patch and it can be found in the queue-4.3 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From a5596d6332787fd383b3b5427b41f94254430827 Mon Sep 17 00:00:00 2001 From: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Fri, 8 Jan 2016 21:28:26 +0800 Subject: crypto: hash - Add crypto_ahash_has_setkey From: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit a5596d6332787fd383b3b5427b41f94254430827 upstream. This patch adds a way for ahash users to determine whether a key is required by a crypto_ahash transform. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- crypto/ahash.c | 5 ++++- crypto/shash.c | 4 +++- include/crypto/hash.h | 6 ++++++ 3 files changed, 13 insertions(+), 2 deletions(-) --- a/crypto/ahash.c +++ b/crypto/ahash.c @@ -451,6 +451,7 @@ static int crypto_ahash_init_tfm(struct struct ahash_alg *alg = crypto_ahash_alg(hash); hash->setkey = ahash_nosetkey; + hash->has_setkey = false; hash->export = ahash_no_export; hash->import = ahash_no_import; @@ -463,8 +464,10 @@ static int crypto_ahash_init_tfm(struct hash->finup = alg->finup ?: ahash_def_finup; hash->digest = alg->digest; - if (alg->setkey) + if (alg->setkey) { hash->setkey = alg->setkey; + hash->has_setkey = true; + } if (alg->export) hash->export = alg->export; if (alg->import) --- a/crypto/shash.c +++ b/crypto/shash.c @@ -355,8 +355,10 @@ int crypto_init_shash_ops_async(struct c crt->finup = shash_async_finup; crt->digest = shash_async_digest; - if (alg->setkey) + if (alg->setkey) { crt->setkey = shash_async_setkey; + crt->has_setkey = true; + } if (alg->export) crt->export = shash_async_export; if (alg->import) --- a/include/crypto/hash.h +++ b/include/crypto/hash.h @@ -204,6 +204,7 @@ struct crypto_ahash { unsigned int keylen); unsigned int reqsize; + bool has_setkey; struct crypto_tfm base; }; @@ -361,6 +362,11 @@ static inline void *ahash_request_ctx(st int crypto_ahash_setkey(struct crypto_ahash *tfm, const u8 *key, unsigned int keylen); +static inline bool crypto_ahash_has_setkey(struct crypto_ahash *tfm) +{ + return tfm->has_setkey; +} + /** * crypto_ahash_finup() - update and finalize message digest * @req: reference to the ahash_request handle that holds all information Patches currently in stable-queue which might be from herbert@xxxxxxxxxxxxxxxxxxx are queue-4.3/crypto-fix-test-vector-for-rsa.patch queue-4.3/crypto-algif_skcipher-use-new-skcipher-interface.patch queue-4.3/crypto-af_alg-disallow-bind-setkey-...-after-accept-2.patch queue-4.3/crypto-crc32c-pclmul-use-.rodata-instead-of-.rotata.patch queue-4.3/crypto-caam-fix-non-block-aligned-hash-calculation.patch queue-4.3/crypto-nx-fix-timing-leak-in-gcm-and-ccm-decryption.patch queue-4.3/crypto-skcipher-copy-iv-from-desc-even-for-0-len-walks.patch queue-4.3/crypto-skcipher-add-crypto_skcipher_has_setkey.patch queue-4.3/crypto-algif_skcipher-add-key-check-exception-for-cipher_null.patch queue-4.3/crypto-algif_skcipher-require-setkey-before-accept-2.patch queue-4.3/crypto-algif_skcipher-add-nokey-compatibility-path.patch queue-4.3/crypto-hash-add-crypto_ahash_has_setkey.patch queue-4.3/crypto-af_alg-add-nokey-compatibility-path.patch queue-4.3/crypto-sun4i-ss-add-missing-statesize.patch queue-4.3/crypto-algif_hash-require-setkey-before-accept-2.patch queue-4.3/crypto-qat-don-t-use-userspace-pointer.patch queue-4.3/crypto-talitos-fix-timing-leak-in-esp-icv-verification.patch queue-4.3/crypto-algif_hash-only-export-and-import-on-sockets-with-data.patch queue-4.3/crypto-af_alg-fix-socket-double-free-when-accept-fails.patch -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html