Message ID | 20190622003112.31033-3-ard.biesheuvel@linaro.org |
---|---|
State | New |
Headers | show |
Series | crypto: DES/3DES cleanup | expand |
On 22.06.19 02:30, Ard Biesheuvel wrote: > Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> > --- > arch/s390/crypto/des_s390.c | 15 ++++++--------- > 1 file changed, 6 insertions(+), 9 deletions(-) > > diff --git a/arch/s390/crypto/des_s390.c b/arch/s390/crypto/des_s390.c > index 1f9ab24dc048..4e4061885b0d 100644 > --- a/arch/s390/crypto/des_s390.c > +++ b/arch/s390/crypto/des_s390.c > @@ -15,7 +15,7 @@ > #include <linux/crypto.h> > #include <linux/fips.h> > #include <crypto/algapi.h> > -#include <crypto/des.h> > +#include <crypto/internal/des.h> > #include <asm/cpacf.h> > > #define DES3_KEY_SIZE (3 * DES_KEY_SIZE) > @@ -34,14 +34,11 @@ static int des_setkey(struct crypto_tfm *tfm, const u8 *key, > unsigned int key_len) > { > struct s390_des_ctx *ctx = crypto_tfm_ctx(tfm); > - u32 tmp[DES_EXPKEY_WORDS]; > + int err; > > - /* check for weak keys */ > - if (!des_ekey(tmp, key) && > - (tfm->crt_flags & CRYPTO_TFM_REQ_FORBID_WEAK_KEYS)) { > - tfm->crt_flags |= CRYPTO_TFM_RES_WEAK_KEY; > - return -EINVAL; > - } > + err = des_verify_key(tfm, key, key_len); > + if (unlikely(err)) > + return err; > > memcpy(ctx->key, key, key_len); > return 0; > @@ -226,7 +223,7 @@ static int des3_setkey(struct crypto_tfm *tfm, const u8 *key, > struct s390_des_ctx *ctx = crypto_tfm_ctx(tfm); > int err; > > - err = __des3_verify_key(&tfm->crt_flags, key); > + err = crypto_des3_ede_verify_key(tfm, key, key_len); > if (unlikely(err)) > return err; > Fine with me, Thanks, Acked-by: Harald Freudenberger <freude@linux.ibm.com>
diff --git a/arch/s390/crypto/des_s390.c b/arch/s390/crypto/des_s390.c index 1f9ab24dc048..4e4061885b0d 100644 --- a/arch/s390/crypto/des_s390.c +++ b/arch/s390/crypto/des_s390.c @@ -15,7 +15,7 @@ #include <linux/crypto.h> #include <linux/fips.h> #include <crypto/algapi.h> -#include <crypto/des.h> +#include <crypto/internal/des.h> #include <asm/cpacf.h> #define DES3_KEY_SIZE (3 * DES_KEY_SIZE) @@ -34,14 +34,11 @@ static int des_setkey(struct crypto_tfm *tfm, const u8 *key, unsigned int key_len) { struct s390_des_ctx *ctx = crypto_tfm_ctx(tfm); - u32 tmp[DES_EXPKEY_WORDS]; + int err; - /* check for weak keys */ - if (!des_ekey(tmp, key) && - (tfm->crt_flags & CRYPTO_TFM_REQ_FORBID_WEAK_KEYS)) { - tfm->crt_flags |= CRYPTO_TFM_RES_WEAK_KEY; - return -EINVAL; - } + err = des_verify_key(tfm, key, key_len); + if (unlikely(err)) + return err; memcpy(ctx->key, key, key_len); return 0; @@ -226,7 +223,7 @@ static int des3_setkey(struct crypto_tfm *tfm, const u8 *key, struct s390_des_ctx *ctx = crypto_tfm_ctx(tfm); int err; - err = __des3_verify_key(&tfm->crt_flags, key); + err = crypto_des3_ede_verify_key(tfm, key, key_len); if (unlikely(err)) return err;
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> --- arch/s390/crypto/des_s390.c | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) -- 2.20.1