git: ff6a7e4ba6bf - main - ktls: Fix CBC encryption when input and output iov sizes are different

Mark Johnston markj at FreeBSD.org
Fri Mar 5 03:46:33 UTC 2021


The branch main has been updated by markj:

URL: https://cgit.FreeBSD.org/src/commit/?id=ff6a7e4ba6bf8be9ead9e1bc5537709243390654

commit ff6a7e4ba6bf8be9ead9e1bc5537709243390654
Author:     Mark Johnston <markj at FreeBSD.org>
AuthorDate: 2021-03-05 03:45:40 +0000
Commit:     Mark Johnston <markj at FreeBSD.org>
CommitDate: 2021-03-05 03:45:40 +0000

    ktls: Fix CBC encryption when input and output iov sizes are different
    
    Reported by:    gallatin
    Tested by:      gallatin
    Fixes:          49f6925ca
    Differential Revision:  https://reviews.freebsd.org/D29073
---
 sys/opencrypto/ktls_ocf.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sys/opencrypto/ktls_ocf.c b/sys/opencrypto/ktls_ocf.c
index 31d787c2b61b..7414e26bb3e2 100644
--- a/sys/opencrypto/ktls_ocf.c
+++ b/sys/opencrypto/ktls_ocf.c
@@ -298,8 +298,8 @@ ktls_ocf_tls_cbc_encrypt(struct ktls_session *tls,
 		memcpy(crp.crp_iv, hdr + 1, AES_BLOCK_LEN);
 	crypto_use_uio(&crp, &uio);
 	if (!inplace) {
-		memcpy(out_iov, outiov, sizeof(*iniov) * outiovcnt);
-		out_iov[outiovcnt] = iov[outiovcnt + 1];
+		memcpy(out_iov, outiov, sizeof(*outiov) * outiovcnt);
+		out_iov[outiovcnt] = iov[iniovcnt + 1];
 		out_uio.uio_iov = out_iov;
 		out_uio.uio_iovcnt = outiovcnt + 1;
 		out_uio.uio_offset = 0;


More information about the dev-commits-src-main mailing list