summaryrefslogtreecommitdiffstats
path: root/crypto/cipher-builtin.c.inc
diff options
context:
space:
mode:
authorRichard Henderson2020-08-28 19:05:15 +0200
committerDaniel P. Berrangé2020-09-10 12:02:23 +0200
commitda30cd77e1dab21560286627eea9609e8a460ce9 (patch)
treec8103abec4c8d3cea5c8c16ffab81953c691f386 /crypto/cipher-builtin.c.inc
parentcrypto: Allocate QCryptoCipher with the subclass (diff)
downloadqemu-da30cd77e1dab21560286627eea9609e8a460ce9.tar.gz
qemu-da30cd77e1dab21560286627eea9609e8a460ce9.tar.xz
qemu-da30cd77e1dab21560286627eea9609e8a460ce9.zip
crypto: Move cipher->driver init to qcrypto_*_cipher_ctx_new
The class vtable should be set by the class initializer. This will also allow additional subclassing, reducing the amount of indirection in the hierarchy. Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Diffstat (limited to 'crypto/cipher-builtin.c.inc')
-rw-r--r--crypto/cipher-builtin.c.inc4
1 files changed, 4 insertions, 0 deletions
diff --git a/crypto/cipher-builtin.c.inc b/crypto/cipher-builtin.c.inc
index 6a03e23040..1444139f36 100644
--- a/crypto/cipher-builtin.c.inc
+++ b/crypto/cipher-builtin.c.inc
@@ -22,6 +22,8 @@
#include "crypto/desrfb.h"
#include "crypto/xts.h"
+static const struct QCryptoCipherDriver qcrypto_cipher_lib_driver;
+
typedef struct QCryptoCipherBuiltinAESContext QCryptoCipherBuiltinAESContext;
struct QCryptoCipherBuiltinAESContext {
AES_KEY enc;
@@ -292,6 +294,7 @@ qcrypto_cipher_init_aes(QCryptoCipherMode mode,
ctxt->encrypt = qcrypto_cipher_encrypt_aes;
ctxt->decrypt = qcrypto_cipher_decrypt_aes;
+ ctxt->base.driver = &qcrypto_cipher_lib_driver;
return &ctxt->base;
error:
@@ -396,6 +399,7 @@ qcrypto_cipher_init_des_rfb(QCryptoCipherMode mode,
ctxt->encrypt = qcrypto_cipher_encrypt_des_rfb;
ctxt->decrypt = qcrypto_cipher_decrypt_des_rfb;
+ ctxt->base.driver = &qcrypto_cipher_lib_driver;
return &ctxt->base;
}