From ac648e3affe358fb373cf369fb2ea46daceba250 Mon Sep 17 00:00:00 2001 From: John Baldwin Date: Wed, 6 Oct 2021 14:08:47 -0700 Subject: [PATCH] cryptodev: Permit CIOCCRYPT for AEAD ciphers. A request without AAD for an AEAD cipher can be submitted via CIOCCRYPT rather than CIOCCRYPTAEAD. Reviewed by: markj Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D32108 (cherry picked from commit 70dbebea124236184a66a30175ba307793971f00) --- sys/opencrypto/cryptodev.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sys/opencrypto/cryptodev.c b/sys/opencrypto/cryptodev.c index ffdf4c67d2f..b449c7a12d9 100644 --- a/sys/opencrypto/cryptodev.c +++ b/sys/opencrypto/cryptodev.c @@ -929,6 +929,13 @@ cryptodev_op(struct csession *cse, const struct crypt_op *cop) goto bail; } break; + case CSP_MODE_AEAD: + if (cse->ivsize != 0 && cop->iv == NULL) { + SDT_PROBE1(opencrypto, dev, ioctl, error, __LINE__); + error = EINVAL; + goto bail; + } + /* FALLTHROUGH */ case CSP_MODE_ETA: switch (cop->op) { case COP_ENCRYPT: