qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 00/16] crypto/cipher: Class hierarchy cleanups
@ 2020-08-28 17:05 Richard Henderson
  2020-08-28 17:05 ` [PATCH v2 01/16] crypto: Assume blocksize is a power of 2 Richard Henderson
                   ` (16 more replies)
  0 siblings, 17 replies; 18+ messages in thread
From: Richard Henderson @ 2020-08-28 17:05 UTC (permalink / raw)
  To: qemu-devel; +Cc: berrange

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



^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2020-09-09 12:20 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-08-28 17:05 [PATCH v2 00/16] crypto/cipher: Class hierarchy cleanups Richard Henderson
2020-08-28 17:05 ` [PATCH v2 01/16] crypto: Assume blocksize is a power of 2 Richard Henderson
2020-08-28 17:05 ` [PATCH v2 02/16] crypto: Rename cipher include files to .c.inc Richard Henderson
2020-08-28 17:05 ` [PATCH v2 03/16] crypto: Remove redundant includes Richard Henderson
2020-08-28 17:05 ` [PATCH v2 04/16] crypto/nettle: Fix xts_encrypt arguments Richard Henderson
2020-08-28 17:05 ` [PATCH v2 05/16] crypto: Move QCryptoCipherDriver typedef to crypto/cipher.h Richard Henderson
2020-08-28 17:05 ` [PATCH v2 06/16] crypto: Use the correct const type for driver Richard Henderson
2020-08-28 17:05 ` [PATCH v2 07/16] crypto: Allocate QCryptoCipher with the subclass Richard Henderson
2020-08-28 17:05 ` [PATCH v2 08/16] crypto: Move cipher->driver init to qcrypto_*_cipher_ctx_new Richard Henderson
2020-08-28 17:05 ` [PATCH v2 09/16] crypto: Constify cipher data tables Richard Henderson
2020-08-28 17:05 ` [PATCH v2 10/16] crypto/builtin: Remove odd-sized AES block handling Richard Henderson
2020-08-28 17:05 ` [PATCH v2 11/16] crypto/builtin: Merge qcrypto_cipher_aes_{ecb, xts}_{en, de}crypt Richard Henderson
2020-08-28 17:05 ` [PATCH v2 12/16] crypto/builtin: Move AES_cbc_encrypt into cipher-builtin.inc.c Richard Henderson
2020-08-28 17:05 ` [PATCH v2 13/16] crypto/builtin: Split and simplify AES_encrypt_cbc Richard Henderson
2020-08-28 17:05 ` [PATCH v2 14/16] crypto/builtin: Split QCryptoCipherBuiltin into subclasses Richard Henderson
2020-08-28 17:05 ` [PATCH v2 15/16] crypto/nettle: Split QCryptoCipherNettle " Richard Henderson
2020-08-28 17:05 ` [PATCH v2 16/16] crypto/gcrypt: Split QCryptoCipherGcrypt " Richard Henderson
2020-09-09 12:19 ` [PATCH v2 00/16] crypto/cipher: Class hierarchy cleanups Daniel P. Berrangé

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).