ossl: Don't try to initialize the cipher for Chacha20+Poly1305.

Chacha20+Poly1305 doesn't use an ossl_cipher instance the way AES-GCM
does, so ossl_lookup_cipher() failed causing ossl_newsession() to
always fail for Chacha20+Poly1305 sessions.

Reported by:	gallatin (ktls_test fails with ossl.ko loaded)
Fixes:		9a3444d91c ossl: Add a VAES-based AES-GCM implementation for amd64
Tested by:	gallatin
Reviewed by:	markj
Differential Revision:	https://reviews.freebsd.org/D40580
This commit is contained in:
John Baldwin 2023-06-20 07:53:50 -07:00
parent 3a1f834b52
commit 474d9290eb

View file

@ -301,7 +301,8 @@ ossl_newsession(device_t dev, crypto_session_t cses,
error = ossl_newsession_cipher(s, csp);
break;
case CSP_MODE_AEAD:
error = ossl_newsession_cipher(s, csp);
if (csp->csp_cipher_alg != CRYPTO_CHACHA20_POLY1305)
error = ossl_newsession_cipher(s, csp);
break;
default:
__assert_unreachable();