Loading arch/s390/crypto/des_s390.c +4 −17 Original line number Diff line number Diff line Loading @@ -224,24 +224,11 @@ static int des3_setkey(struct crypto_tfm *tfm, const u8 *key, unsigned int key_len) { struct s390_des_ctx *ctx = crypto_tfm_ctx(tfm); int err; if (!(crypto_memneq(key, &key[DES_KEY_SIZE], DES_KEY_SIZE) && crypto_memneq(&key[DES_KEY_SIZE], &key[DES_KEY_SIZE * 2], DES_KEY_SIZE)) && (tfm->crt_flags & CRYPTO_TFM_REQ_FORBID_WEAK_KEYS)) { tfm->crt_flags |= CRYPTO_TFM_RES_WEAK_KEY; return -EINVAL; } /* in fips mode, ensure k1 != k2 and k2 != k3 and k1 != k3 */ if (fips_enabled && !(crypto_memneq(key, &key[DES_KEY_SIZE], DES_KEY_SIZE) && crypto_memneq(&key[DES_KEY_SIZE], &key[DES_KEY_SIZE * 2], DES_KEY_SIZE) && crypto_memneq(key, &key[DES_KEY_SIZE * 2], DES_KEY_SIZE))) { tfm->crt_flags |= CRYPTO_TFM_RES_WEAK_KEY; return -EINVAL; } err = __des3_verify_key(&tfm->crt_flags, key); if (unlikely(err)) return err; memcpy(ctx->key, key, key_len); return 0; Loading Loading
arch/s390/crypto/des_s390.c +4 −17 Original line number Diff line number Diff line Loading @@ -224,24 +224,11 @@ static int des3_setkey(struct crypto_tfm *tfm, const u8 *key, unsigned int key_len) { struct s390_des_ctx *ctx = crypto_tfm_ctx(tfm); int err; if (!(crypto_memneq(key, &key[DES_KEY_SIZE], DES_KEY_SIZE) && crypto_memneq(&key[DES_KEY_SIZE], &key[DES_KEY_SIZE * 2], DES_KEY_SIZE)) && (tfm->crt_flags & CRYPTO_TFM_REQ_FORBID_WEAK_KEYS)) { tfm->crt_flags |= CRYPTO_TFM_RES_WEAK_KEY; return -EINVAL; } /* in fips mode, ensure k1 != k2 and k2 != k3 and k1 != k3 */ if (fips_enabled && !(crypto_memneq(key, &key[DES_KEY_SIZE], DES_KEY_SIZE) && crypto_memneq(&key[DES_KEY_SIZE], &key[DES_KEY_SIZE * 2], DES_KEY_SIZE) && crypto_memneq(key, &key[DES_KEY_SIZE * 2], DES_KEY_SIZE))) { tfm->crt_flags |= CRYPTO_TFM_RES_WEAK_KEY; return -EINVAL; } err = __des3_verify_key(&tfm->crt_flags, key); if (unlikely(err)) return err; memcpy(ctx->key, key, key_len); return 0; Loading