Signed-off-by: Ard Biesheuvel <ard.biesheu...@linaro.org>
---
 arch/sparc/crypto/des_glue.c | 18 +++++++-----------
 1 file changed, 7 insertions(+), 11 deletions(-)

diff --git a/arch/sparc/crypto/des_glue.c b/arch/sparc/crypto/des_glue.c
index 453a4cf5492a..d0e3929359a1 100644
--- a/arch/sparc/crypto/des_glue.c
+++ b/arch/sparc/crypto/des_glue.c
@@ -11,7 +11,7 @@
 #include <linux/mm.h>
 #include <linux/types.h>
 #include <crypto/algapi.h>
-#include <crypto/des.h>
+#include <crypto/internal/des.h>
 
 #include <asm/fpumacro.h>
 #include <asm/pstate.h>
@@ -44,19 +44,15 @@ static int des_set_key(struct crypto_tfm *tfm, const u8 
*key,
                       unsigned int keylen)
 {
        struct des_sparc64_ctx *dctx = crypto_tfm_ctx(tfm);
-       u32 *flags = &tfm->crt_flags;
-       u32 tmp[DES_EXPKEY_WORDS];
-       int ret;
+       int err;
 
        /* Even though we have special instructions for key expansion,
-        * we call des_ekey() so that we don't have to write our own
+        * we call des_verify_key() so that we don't have to write our own
         * weak key detection code.
         */
-       ret = des_ekey(tmp, key);
-       if (unlikely(ret == 0) && (*flags & CRYPTO_TFM_REQ_FORBID_WEAK_KEYS)) {
-               *flags |= CRYPTO_TFM_RES_WEAK_KEY;
-               return -EINVAL;
-       }
+       err = des_verify_key(tfm, key, keylen);
+       if (unlikely(err))
+               return err;
 
        des_sparc64_key_expand((const u32 *) key, &dctx->encrypt_expkey[0]);
        encrypt_to_decrypt(&dctx->decrypt_expkey[0], &dctx->encrypt_expkey[0]);
@@ -207,7 +203,7 @@ static int des3_ede_set_key(struct crypto_tfm *tfm, const 
u8 *key,
        u64 k3[DES_EXPKEY_WORDS / 2];
        int err;
 
-       err = __des3_verify_key(flags, key);
+       err = crypto_des3_ede_verify_key(tfm, key, keylen);
        if (unlikely(err))
                return err;
 
-- 
2.20.1

Reply via email to