crypto: s390/aes - drop redundant xts key check
authorVladis Dronov <vdronov@redhat.com>
Thu, 29 Dec 2022 21:17:07 +0000 (22:17 +0100)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 6 Jan 2023 09:15:47 +0000 (17:15 +0800)
xts_fallback_setkey() in xts_aes_set_key() will now enforce key size
rule in FIPS mode when setting up the fallback algorithm keys, which
makes the check in xts_aes_set_key() redundant or unreachable. So just
drop this check.

xts_fallback_setkey() now makes a key size check in xts_verify_key():

xts_fallback_setkey()
  crypto_skcipher_setkey() [ skcipher_setkey_unaligned() ]
    cipher->setkey() { .setkey = xts_setkey }
      xts_setkey()
        xts_verify_key()

Signed-off-by: Vladis Dronov <vdronov@redhat.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
arch/s390/crypto/aes_s390.c

index 526c3f4..c773820 100644 (file)
@@ -398,10 +398,6 @@ static int xts_aes_set_key(struct crypto_skcipher *tfm, const u8 *in_key,
        if (err)
                return err;
 
-       /* In fips mode only 128 bit or 256 bit keys are valid */
-       if (fips_enabled && key_len != 32 && key_len != 64)
-               return -EINVAL;
-
        /* Pick the correct function code based on the key length */
        fc = (key_len == 32) ? CPACF_KM_XTS_128 :
             (key_len == 64) ? CPACF_KM_XTS_256 : 0;