[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 00/16] crypto/cipher: Class hierarchy cleanups
From: |
Richard Henderson |
Subject: |
[PATCH v2 00/16] crypto/cipher: Class hierarchy cleanups |
Date: |
Fri, 28 Aug 2020 10:05:07 -0700 |
Mostly this is intended to cleanup the class hierarchy
used for the ciphers. We currently have multiple levels
of dispatch, and multiple separate allocations. The final
patches rearrange this to one level of indirect call, and
all memory allocated contiguously.
But on the way there are a number of other misc cleanups.
Changes in v2:
* Dropped move of QCryptoCipher typedef.
* Moved QCryptoCipherDriver typedef to include/crypto/cipher.h.
* Renamed included files to *.c.inc.
* Fixed errors with old versions of nettle and gcrypt.
Based-on: <20200828132716.279782-1-berrange@redhat.com>
("crypto: fix build with gcrypt")
which does at least allow *-softmmu builds to complete,
though I still have issues with *-linux-user.
r~
Richard Henderson (16):
crypto: Assume blocksize is a power of 2
crypto: Rename cipher include files to .c.inc
crypto: Remove redundant includes
crypto/nettle: Fix xts_encrypt arguments
crypto: Move QCryptoCipherDriver typedef to crypto/cipher.h
crypto: Use the correct const type for driver
crypto: Allocate QCryptoCipher with the subclass
crypto: Move cipher->driver init to qcrypto_*_cipher_ctx_new
crypto: Constify cipher data tables
crypto/builtin: Remove odd-sized AES block handling
crypto/builtin: Merge qcrypto_cipher_aes_{ecb,xts}_{en,de}crypt
crypto/builtin: Move AES_cbc_encrypt into cipher-builtin.inc.c
crypto/builtin: Split and simplify AES_encrypt_cbc
crypto/builtin: Split QCryptoCipherBuiltin into subclasses
crypto/nettle: Split QCryptoCipherNettle into subclasses
crypto/gcrypt: Split QCryptoCipherGcrypt into subclasses
crypto/afalgpriv.h | 3 +
crypto/cipherpriv.h | 6 +-
include/crypto/aes.h | 4 -
include/crypto/cipher.h | 4 +-
crypto/aes.c | 51 --
crypto/cipher-afalg.c | 25 +-
crypto/cipher-builtin.c | 532 ------------
crypto/cipher-nettle.c | 733 -----------------
crypto/cipher.c | 44 +-
crypto/cipher-builtin.c.inc | 435 ++++++++++
.../{cipher-gcrypt.c => cipher-gcrypt.c.inc} | 509 ++++++------
crypto/cipher-nettle.c.inc | 760 ++++++++++++++++++
12 files changed, 1481 insertions(+), 1625 deletions(-)
delete mode 100644 crypto/cipher-builtin.c
delete mode 100644 crypto/cipher-nettle.c
create mode 100644 crypto/cipher-builtin.c.inc
rename crypto/{cipher-gcrypt.c => cipher-gcrypt.c.inc} (52%)
create mode 100644 crypto/cipher-nettle.c.inc
--
2.25.1
- [PATCH v2 00/16] crypto/cipher: Class hierarchy cleanups,
Richard Henderson <=
- [PATCH v2 01/16] crypto: Assume blocksize is a power of 2, Richard Henderson, 2020/08/28
- [PATCH v2 02/16] crypto: Rename cipher include files to .c.inc, Richard Henderson, 2020/08/28
- [PATCH v2 03/16] crypto: Remove redundant includes, Richard Henderson, 2020/08/28
- [PATCH v2 04/16] crypto/nettle: Fix xts_encrypt arguments, Richard Henderson, 2020/08/28
- [PATCH v2 05/16] crypto: Move QCryptoCipherDriver typedef to crypto/cipher.h, Richard Henderson, 2020/08/28
- [PATCH v2 06/16] crypto: Use the correct const type for driver, Richard Henderson, 2020/08/28
- [PATCH v2 07/16] crypto: Allocate QCryptoCipher with the subclass, Richard Henderson, 2020/08/28
- [PATCH v2 08/16] crypto: Move cipher->driver init to qcrypto_*_cipher_ctx_new, Richard Henderson, 2020/08/28
- [PATCH v2 09/16] crypto: Constify cipher data tables, Richard Henderson, 2020/08/28
- [PATCH v2 10/16] crypto/builtin: Remove odd-sized AES block handling, Richard Henderson, 2020/08/28