Message ID | 20190826135103.22410-5-mlevitsk@redhat.com |
---|---|
State | New |
Headers | show |
Series | RFC crypto/luks: preparation for encryption key managment | expand |
On Mon, Aug 26, 2019 at 04:50:54PM +0300, Maxim Levitsky wrote: > This way we can store the header we loaded, which > will be used in key management code > > Signed-off-by: Maxim Levitsky <mlevitsk@redhat.com> > --- > crypto/block-luks.c | 9 ++++++--- > 1 file changed, 6 insertions(+), 3 deletions(-) > > diff --git a/crypto/block-luks.c b/crypto/block-luks.c > index f12fa2d270..e9ae3f6baa 100644 > --- a/crypto/block-luks.c > +++ b/crypto/block-luks.c > @@ -645,6 +645,7 @@ qcrypto_block_luks_open(QCryptoBlock *block, > QCryptoHashAlgorithm hash; > QCryptoHashAlgorithm ivhash; > g_autofree char *password = NULL; > + g_autofree char *cipher_mode = NULL; > > if (!(flags & QCRYPTO_BLOCK_OPEN_NO_IO)) { > if (!options->u.luks.key_secret) { > @@ -701,6 +702,8 @@ qcrypto_block_luks_open(QCryptoBlock *block, > goto fail; > } > > + cipher_mode = g_strdup(luks->header.cipher_mode); > + > /* > * The cipher_mode header contains a string that we have > * to further parse, of the format > @@ -709,11 +712,11 @@ qcrypto_block_luks_open(QCryptoBlock *block, > * > * eg cbc-essiv:sha256, cbc-plain64 > */ > - ivgen_name = strchr(luks->header.cipher_mode, '-'); > + ivgen_name = strchr(cipher_mode, '-'); > if (!ivgen_name) { > ret = -EINVAL; > error_setg(errp, "Unexpected cipher mode string format %s", > - luks->header.cipher_mode); > + cipher_mode); nitpick - align with the ( > goto fail; > } > *ivgen_name = '\0'; > @@ -735,7 +738,7 @@ qcrypto_block_luks_open(QCryptoBlock *block, > } > } > > - ciphermode = qcrypto_block_luks_cipher_mode_lookup(luks->header.cipher_mode, > + ciphermode = qcrypto_block_luks_cipher_mode_lookup(cipher_mode, > &local_err); > if (local_err) { > ret = -ENOTSUP; Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Regards, Daniel
diff --git a/crypto/block-luks.c b/crypto/block-luks.c index f12fa2d270..e9ae3f6baa 100644 --- a/crypto/block-luks.c +++ b/crypto/block-luks.c @@ -645,6 +645,7 @@ qcrypto_block_luks_open(QCryptoBlock *block, QCryptoHashAlgorithm hash; QCryptoHashAlgorithm ivhash; g_autofree char *password = NULL; + g_autofree char *cipher_mode = NULL; if (!(flags & QCRYPTO_BLOCK_OPEN_NO_IO)) { if (!options->u.luks.key_secret) { @@ -701,6 +702,8 @@ qcrypto_block_luks_open(QCryptoBlock *block, goto fail; } + cipher_mode = g_strdup(luks->header.cipher_mode); + /* * The cipher_mode header contains a string that we have * to further parse, of the format @@ -709,11 +712,11 @@ qcrypto_block_luks_open(QCryptoBlock *block, * * eg cbc-essiv:sha256, cbc-plain64 */ - ivgen_name = strchr(luks->header.cipher_mode, '-'); + ivgen_name = strchr(cipher_mode, '-'); if (!ivgen_name) { ret = -EINVAL; error_setg(errp, "Unexpected cipher mode string format %s", - luks->header.cipher_mode); + cipher_mode); goto fail; } *ivgen_name = '\0'; @@ -735,7 +738,7 @@ qcrypto_block_luks_open(QCryptoBlock *block, } } - ciphermode = qcrypto_block_luks_cipher_mode_lookup(luks->header.cipher_mode, + ciphermode = qcrypto_block_luks_cipher_mode_lookup(cipher_mode, &local_err); if (local_err) { ret = -ENOTSUP;
This way we can store the header we loaded, which will be used in key management code Signed-off-by: Maxim Levitsky <mlevitsk@redhat.com> --- crypto/block-luks.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-)