HomeFreeBSD

Various cleanups to the software encryption transform interface.

Description

Various cleanups to the software encryption transform interface.

  • Consistently use 'void *' for key schedules / key contexts instead of a mix of 'caddr_t', 'uint8_t *', and 'void *'.
  • Add a ctxsize member to enc_xform similar to what auth transforms use and require callers to malloc/zfree the context. The setkey callback now supplies the caller-allocated context pointer and the zerokey callback is removed. Callers now always use zfree() to ensure key contexts are zeroed.
  • Consistently use C99 initializers for all statically-initialized instances of 'struct enc_xform'.
  • Change the encrypt and decrypt functions to accept separate in and out buffer pointers. Almost all of the backend crypto functions already supported separate input and output buffers and this makes it simpler to support separate buffers in OCF.
  • Remove xform_userland.h shim to permit transforms to be compiled in userland. Transforms no longer call malloc/free directly.

Reviewed by: cem (earlier version)
Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D24855

Details

Provenance
jhbAuthored on May 20 2020, 9:21 PM
Parents
rG2aa1dc7e3b63: Print CPU informtion later in boot.
Branches
Unknown
Tags
Unknown