Page MenuHomeFreeBSD

D33194.id99777.diff
No OneTemporary

D33194.id99777.diff

diff --git a/sys/crypto/aesni/aesni.c b/sys/crypto/aesni/aesni.c
--- a/sys/crypto/aesni/aesni.c
+++ b/sys/crypto/aesni/aesni.c
@@ -305,8 +305,7 @@
if (csp->csp_auth_mlen != 0 &&
csp->csp_auth_mlen != GMAC_DIGEST_LEN)
return (EINVAL);
- if (csp->csp_ivlen != AES_GCM_IV_LEN ||
- !sc->has_aes)
+ if (!sc->has_aes)
return (EINVAL);
break;
case CRYPTO_AES_CCM_16:
diff --git a/sys/crypto/armv8/armv8_crypto.c b/sys/crypto/armv8/armv8_crypto.c
--- a/sys/crypto/armv8/armv8_crypto.c
+++ b/sys/crypto/armv8/armv8_crypto.c
@@ -217,8 +217,6 @@
case CRYPTO_AES_NIST_GCM_16:
if (!sc->has_pmul)
return (EINVAL);
- if (csp->csp_ivlen != AES_GCM_IV_LEN)
- return (EINVAL);
if (csp->csp_auth_mlen != 0 &&
csp->csp_auth_mlen != GMAC_DIGEST_LEN)
return (EINVAL);
diff --git a/sys/crypto/ccp/ccp.c b/sys/crypto/ccp/ccp.c
--- a/sys/crypto/ccp/ccp.c
+++ b/sys/crypto/ccp/ccp.c
@@ -378,11 +378,6 @@
case CSP_MODE_AEAD:
switch (csp->csp_cipher_alg) {
case CRYPTO_AES_NIST_GCM_16:
- if (csp->csp_ivlen != AES_GCM_IV_LEN)
- return (EINVAL);
- if (csp->csp_auth_mlen < 0 ||
- csp->csp_auth_mlen > AES_GMAC_HASH_LEN)
- return (EINVAL);
if ((sc->hw_features & VERSION_CAP_AES) == 0)
return (EINVAL);
break;
diff --git a/sys/dev/cxgbe/crypto/t4_crypto.c b/sys/dev/cxgbe/crypto/t4_crypto.c
--- a/sys/dev/cxgbe/crypto/t4_crypto.c
+++ b/sys/dev/cxgbe/crypto/t4_crypto.c
@@ -2540,12 +2540,6 @@
case CSP_MODE_AEAD:
switch (csp->csp_cipher_alg) {
case CRYPTO_AES_NIST_GCM_16:
- if (csp->csp_ivlen != AES_GCM_IV_LEN)
- return (EINVAL);
- if (csp->csp_auth_mlen < 0 ||
- csp->csp_auth_mlen > AES_GMAC_HASH_LEN)
- return (EINVAL);
- break;
case CRYPTO_AES_CCM_16:
break;
default:
diff --git a/sys/dev/qat/qat.c b/sys/dev/qat/qat.c
--- a/sys/dev/qat/qat.c
+++ b/sys/dev/qat/qat.c
@@ -1911,8 +1911,6 @@
case CSP_MODE_AEAD:
switch (csp->csp_cipher_alg) {
case CRYPTO_AES_NIST_GCM_16:
- if (csp->csp_ivlen != AES_GCM_IV_LEN)
- return EINVAL;
break;
default:
return EINVAL;
diff --git a/sys/dev/safexcel/safexcel.c b/sys/dev/safexcel/safexcel.c
--- a/sys/dev/safexcel/safexcel.c
+++ b/sys/dev/safexcel/safexcel.c
@@ -2304,9 +2304,6 @@
case CSP_MODE_AEAD:
switch (csp->csp_cipher_alg) {
case CRYPTO_AES_NIST_GCM_16:
- if (csp->csp_ivlen != AES_GCM_IV_LEN)
- return (EINVAL);
- break;
case CRYPTO_AES_CCM_16:
break;
default:
diff --git a/sys/opencrypto/crypto.c b/sys/opencrypto/crypto.c
--- a/sys/opencrypto/crypto.c
+++ b/sys/opencrypto/crypto.c
@@ -851,7 +851,10 @@
return (false);
break;
case CRYPTO_AES_NIST_GCM_16:
- if (csp->csp_auth_mlen > 16)
+ if (csp->csp_auth_mlen > AES_GMAC_HASH_LEN)
+ return (false);
+
+ if (csp->csp_ivlen != AES_GCM_IV_LEN)
return (false);
break;
case CRYPTO_CHACHA20_POLY1305:
diff --git a/sys/opencrypto/cryptosoft.c b/sys/opencrypto/cryptosoft.c
--- a/sys/opencrypto/cryptosoft.c
+++ b/sys/opencrypto/cryptosoft.c
@@ -1308,9 +1308,6 @@
struct swcr_auth *swa;
const struct auth_hash *axf;
- if (csp->csp_ivlen != AES_GCM_IV_LEN)
- return (EINVAL);
-
/* First, setup the auth side. */
swa = &ses->swcr_auth;
switch (csp->csp_cipher_klen * 8) {

File Metadata

Mime Type
text/plain
Expires
Thu, May 14, 3:19 PM (8 h, 35 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
33028917
Default Alt Text
D33194.id99777.diff (3 KB)

Event Timeline