crypto: des_s390 - Permit weak keys unless REQ_WEAK_KEY set
Just started running fips cavs test vectors through an s390x system
for giggles, and discovered that I missed patching s390's arch-specific
des3 implementation w/an earlier des3 patch to permit weak keys.
This change adds the same flag tweaks as
ad79cdd77f
(crypto: des3_ede - permit
weak keys unless REQ_WEAK_KEY set) for s390's des3 implementation,
yields expected test results now.
Signed-off-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
parent
5b739ef8a4
commit
03b56ce541
@ -250,8 +250,9 @@ static int des3_128_setkey(struct crypto_tfm *tfm, const u8 *key,
|
|||||||
const u8 *temp_key = key;
|
const u8 *temp_key = key;
|
||||||
u32 *flags = &tfm->crt_flags;
|
u32 *flags = &tfm->crt_flags;
|
||||||
|
|
||||||
if (!(memcmp(key, &key[DES_KEY_SIZE], DES_KEY_SIZE))) {
|
if (!(memcmp(key, &key[DES_KEY_SIZE], DES_KEY_SIZE)) &&
|
||||||
*flags |= CRYPTO_TFM_RES_BAD_KEY_SCHED;
|
(*flags & CRYPTO_TFM_REQ_WEAK_KEY)) {
|
||||||
|
*flags |= CRYPTO_TFM_RES_WEAK_KEY;
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
for (i = 0; i < 2; i++, temp_key += DES_KEY_SIZE) {
|
for (i = 0; i < 2; i++, temp_key += DES_KEY_SIZE) {
|
||||||
@ -411,9 +412,9 @@ static int des3_192_setkey(struct crypto_tfm *tfm, const u8 *key,
|
|||||||
|
|
||||||
if (!(memcmp(key, &key[DES_KEY_SIZE], DES_KEY_SIZE) &&
|
if (!(memcmp(key, &key[DES_KEY_SIZE], DES_KEY_SIZE) &&
|
||||||
memcmp(&key[DES_KEY_SIZE], &key[DES_KEY_SIZE * 2],
|
memcmp(&key[DES_KEY_SIZE], &key[DES_KEY_SIZE * 2],
|
||||||
DES_KEY_SIZE))) {
|
DES_KEY_SIZE)) &&
|
||||||
|
(*flags & CRYPTO_TFM_REQ_WEAK_KEY)) {
|
||||||
*flags |= CRYPTO_TFM_RES_BAD_KEY_SCHED;
|
*flags |= CRYPTO_TFM_RES_WEAK_KEY;
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
for (i = 0; i < 3; i++, temp_key += DES_KEY_SIZE) {
|
for (i = 0; i < 3; i++, temp_key += DES_KEY_SIZE) {
|
||||||
|
Loading…
Reference in New Issue
Block a user