On Wed, Aug 12, 2020 at 08:25:32PM -0700, Richard Henderson wrote: > There's no real reason we need two separate helper functions here. > Standardize on the function signature required for xts_encrypt. > Rename to do_aes_{en,de}crypt_ecb, since the helper does not > itself do anything with respect to xts. > > Signed-off-by: Richard Henderson <richard.hender...@linaro.org> > --- > crypto/cipher-builtin.inc.c | 69 ++++++++++--------------------------- > 1 file changed, 18 insertions(+), 51 deletions(-) > > diff --git a/crypto/cipher-builtin.inc.c b/crypto/cipher-builtin.inc.c > index e2ae5d090c..4d971a2b82 100644 > --- a/crypto/cipher-builtin.inc.c > +++ b/crypto/cipher-builtin.inc.c > @@ -72,65 +72,34 @@ static void qcrypto_cipher_free_aes(QCryptoCipher *cipher) > g_free(cipher); > } > > - > -static void qcrypto_cipher_aes_ecb_encrypt(const AES_KEY *key, > - const void *in, > - void *out, > - size_t len) > +static void do_aes_encrypt_ecb(const void *vctx, size_t len, > + uint8_t *out, const uint8_t *in)
nitpick - stick with the 1-arg-per-line style, instead of packing args. > { > - const uint8_t *inptr = in; > - uint8_t *outptr = out; > + const QCryptoCipherBuiltinAESContext *ctx = vctx; > > /* We have already verified that len % AES_BLOCK_SIZE == 0. */ > while (len) { > - AES_encrypt(inptr, outptr, key); > - inptr += AES_BLOCK_SIZE; > - outptr += AES_BLOCK_SIZE; > + AES_encrypt(in, out, &ctx->enc); > + in += AES_BLOCK_SIZE; > + out += AES_BLOCK_SIZE; > len -= AES_BLOCK_SIZE; > } > } > > - > -static void qcrypto_cipher_aes_ecb_decrypt(const AES_KEY *key, > - const void *in, > - void *out, > - size_t len) > +static void do_aes_decrypt_ecb(const void *vctx, size_t len, > + uint8_t *out, const uint8_t *in) > { > - const uint8_t *inptr = in; > - uint8_t *outptr = out; > + const QCryptoCipherBuiltinAESContext *ctx = vctx; > > /* We have already verified that len % AES_BLOCK_SIZE == 0. */ > while (len) { > - AES_decrypt(inptr, outptr, key); > - inptr += AES_BLOCK_SIZE; > - outptr += AES_BLOCK_SIZE; > + AES_decrypt(in, out, &ctx->dec); > + in += AES_BLOCK_SIZE; > + out += AES_BLOCK_SIZE; > len -= AES_BLOCK_SIZE; > } > } > > - > -static void qcrypto_cipher_aes_xts_encrypt(const void *ctx, > - size_t length, > - uint8_t *dst, > - const uint8_t *src) > -{ > - const QCryptoCipherBuiltinAESContext *aesctx = ctx; > - > - qcrypto_cipher_aes_ecb_encrypt(&aesctx->enc, src, dst, length); > -} > - > - > -static void qcrypto_cipher_aes_xts_decrypt(const void *ctx, > - size_t length, > - uint8_t *dst, > - const uint8_t *src) > -{ > - const QCryptoCipherBuiltinAESContext *aesctx = ctx; > - > - qcrypto_cipher_aes_ecb_decrypt(&aesctx->dec, src, dst, length); > -} > - > - Reviewed-by: Daniel P. Berrangé <berra...@redhat.com> Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|