]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/blobdiff - drivers/crypto/talitos.c
crypto: talitos - fix AEAD for sha224 on non sha224 capable chips
[mirror_ubuntu-hirsute-kernel.git] / drivers / crypto / talitos.c
index 8aa1212086f4839324b550462e50ff0b30d57be3..b7184f305867e130a363c761a7ef0f737fe2f8b7 100644 (file)
@@ -3068,6 +3068,11 @@ static struct talitos_crypto_alg *talitos_alg_alloc(struct device *dev,
                t_alg->algt.alg.aead.setkey = aead_setkey;
                t_alg->algt.alg.aead.encrypt = aead_encrypt;
                t_alg->algt.alg.aead.decrypt = aead_decrypt;
+               if (!(priv->features & TALITOS_FTR_SHA224_HWINIT) &&
+                   !strncmp(alg->cra_name, "authenc(hmac(sha224)", 20)) {
+                       kfree(t_alg);
+                       return ERR_PTR(-ENOTSUPP);
+               }
                break;
        case CRYPTO_ALG_TYPE_AHASH:
                alg = &t_alg->algt.alg.hash.halg.base;