Changeset View
Changeset View
Standalone View
Standalone View
sys/opencrypto/ktls_ocf.c
Show First 20 Lines • Show All 292 Lines • ▼ Show 20 Lines | #endif | ||||
crp.crp_op = CRYPTO_OP_ENCRYPT; | crp.crp_op = CRYPTO_OP_ENCRYPT; | ||||
crp.crp_flags = CRYPTO_F_CBIMM | CRYPTO_F_IV_SEPARATE; | crp.crp_flags = CRYPTO_F_CBIMM | CRYPTO_F_IV_SEPARATE; | ||||
if (os->implicit_iv) | if (os->implicit_iv) | ||||
memcpy(crp.crp_iv, os->iv, AES_BLOCK_LEN); | memcpy(crp.crp_iv, os->iv, AES_BLOCK_LEN); | ||||
else | else | ||||
memcpy(crp.crp_iv, hdr + 1, AES_BLOCK_LEN); | memcpy(crp.crp_iv, hdr + 1, AES_BLOCK_LEN); | ||||
crypto_use_uio(&crp, &uio); | crypto_use_uio(&crp, &uio); | ||||
if (!inplace) { | if (!inplace) { | ||||
memcpy(out_iov, outiov, sizeof(*iniov) * outiovcnt); | memcpy(out_iov, outiov, sizeof(*outiov) * outiovcnt); | ||||
out_iov[outiovcnt] = iov[outiovcnt + 1]; | out_iov[outiovcnt] = iov[iniovcnt + 1]; | ||||
out_uio.uio_iov = out_iov; | out_uio.uio_iov = out_iov; | ||||
out_uio.uio_iovcnt = outiovcnt + 1; | out_uio.uio_iovcnt = outiovcnt + 1; | ||||
out_uio.uio_offset = 0; | out_uio.uio_offset = 0; | ||||
out_uio.uio_segflg = UIO_SYSSPACE; | out_uio.uio_segflg = UIO_SYSSPACE; | ||||
out_uio.uio_td = curthread; | out_uio.uio_td = curthread; | ||||
out_uio.uio_resid = uio.uio_resid; | out_uio.uio_resid = uio.uio_resid; | ||||
crypto_use_output_uio(&crp, &out_uio); | crypto_use_output_uio(&crp, &out_uio); | ||||
} | } | ||||
▲ Show 20 Lines • Show All 496 Lines • Show Last 20 Lines |