[PATCH 3.16.y-ckt 048/129] crypto: algif_skcipher - Add key check exception for cipher_null

From: Luis Henriques
Date: Fri Feb 26 2016 - 05:57:52 EST

3.16.7-ckt25 -stable review patch. If anyone has any objections, please let me know.


From: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>

commit 6e8d8ecf438792ecf7a3207488fb4eebc4edb040 upstream.

This patch adds an exception to the key check so that cipher_null
users may continue to use algif_skcipher without setting a key.

Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
[bwh: Backported to 3.2: use crypto_ablkcipher_has_setkey()]
Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx>
Signed-off-by: Luis Henriques <luis.henriques@xxxxxxxxxxxxx>
crypto/algif_skcipher.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/crypto/algif_skcipher.c b/crypto/algif_skcipher.c
index f0037c0c36b7..584d70f7f824 100644
--- a/crypto/algif_skcipher.c
+++ b/crypto/algif_skcipher.c
@@ -760,7 +760,7 @@ static int skcipher_accept_parent(void *private, struct sock *sk)
struct skcipher_tfm *tfm = private;

- if (!tfm->has_key)
+ if (!tfm->has_key && crypto_ablkcipher_has_setkey(tfm->skcipher))
return -ENOKEY;

return skcipher_accept_parent_common(private, sk);