From: Marcelo Cerri <marcelo.cerri@canonical.com>
To: Paulo Flabiano Smorigo <pfsmorigo@linux.vnet.ibm.com>
Cc: linux-kernel@vger.kernel.org, benh@kernel.crashing.org,
paulus@samba.org, mpe@ellerman.id.au,
herbert@gondor.apana.org.au, davem@davemloft.net,
linux-crypto@vger.kernel.org, linuxppc-dev@lists.ozlabs.org
Subject: Re: [PATCH v2 1/2] crypto: vmx - Use skcipher for cbc fallback
Date: Sun, 26 Feb 2017 16:21:07 -0300 [thread overview]
Message-ID: <20170226192107.GA7129@gallifrey> (raw)
In-Reply-To: <20170224142354.10231-1-pfsmorigo@linux.vnet.ibm.com>
[-- Attachment #1: Type: text/plain, Size: 4458 bytes --]
On Fri, Feb 24, 2017 at 11:23:54AM -0300, Paulo Flabiano Smorigo wrote:
> Signed-off-by: Paulo Flabiano Smorigo <pfsmorigo@linux.vnet.ibm.com>
> ---
> drivers/crypto/vmx/aes_cbc.c | 44 ++++++++++++++++++++++----------------------
> 1 file changed, 22 insertions(+), 22 deletions(-)
>
> diff --git a/drivers/crypto/vmx/aes_cbc.c b/drivers/crypto/vmx/aes_cbc.c
> index 94ad5c0..2bb5910 100644
> --- a/drivers/crypto/vmx/aes_cbc.c
> +++ b/drivers/crypto/vmx/aes_cbc.c
> @@ -27,11 +27,12 @@
> #include <asm/switch_to.h>
> #include <crypto/aes.h>
> #include <crypto/scatterwalk.h>
> +#include <crypto/skcipher.h>
>
> #include "aesp8-ppc.h"
>
> struct p8_aes_cbc_ctx {
> - struct crypto_blkcipher *fallback;
> + struct crypto_skcipher *fallback;
> struct aes_key enc_key;
> struct aes_key dec_key;
> };
> @@ -39,7 +40,7 @@ struct p8_aes_cbc_ctx {
> static int p8_aes_cbc_init(struct crypto_tfm *tfm)
> {
> const char *alg;
> - struct crypto_blkcipher *fallback;
> + struct crypto_skcipher *fallback;
> struct p8_aes_cbc_ctx *ctx = crypto_tfm_ctx(tfm);
>
> if (!(alg = crypto_tfm_alg_name(tfm))) {
> @@ -47,8 +48,9 @@ static int p8_aes_cbc_init(struct crypto_tfm *tfm)
> return -ENOENT;
> }
>
> - fallback =
> - crypto_alloc_blkcipher(alg, 0, CRYPTO_ALG_NEED_FALLBACK);
> + fallback = crypto_alloc_skcipher(alg, 0,
> + CRYPTO_ALG_ASYNC | CRYPTO_ALG_NEED_FALLBACK);
> +
> if (IS_ERR(fallback)) {
> printk(KERN_ERR
> "Failed to allocate transformation for '%s': %ld\n",
> @@ -58,9 +60,9 @@ static int p8_aes_cbc_init(struct crypto_tfm *tfm)
> printk(KERN_INFO "Using '%s' as fallback implementation.\n",
> crypto_tfm_alg_driver_name((struct crypto_tfm *) fallback));
You need to update that to use crypto_skcipher_tfm(). The same is valid
for the xts patch.
>
> - crypto_blkcipher_set_flags(
> + crypto_skcipher_set_flags(
> fallback,
> - crypto_blkcipher_get_flags((struct crypto_blkcipher *)tfm));
> + crypto_skcipher_get_flags((struct crypto_skcipher *)tfm));
> ctx->fallback = fallback;
>
> return 0;
> @@ -71,7 +73,7 @@ static void p8_aes_cbc_exit(struct crypto_tfm *tfm)
> struct p8_aes_cbc_ctx *ctx = crypto_tfm_ctx(tfm);
>
> if (ctx->fallback) {
> - crypto_free_blkcipher(ctx->fallback);
> + crypto_free_skcipher(ctx->fallback);
> ctx->fallback = NULL;
> }
> }
> @@ -91,7 +93,7 @@ static int p8_aes_cbc_setkey(struct crypto_tfm *tfm, const u8 *key,
> pagefault_enable();
> preempt_enable();
>
> - ret += crypto_blkcipher_setkey(ctx->fallback, key, keylen);
> + ret += crypto_skcipher_setkey(ctx->fallback, key, keylen);
> return ret;
> }
>
> @@ -103,15 +105,14 @@ static int p8_aes_cbc_encrypt(struct blkcipher_desc *desc,
> struct blkcipher_walk walk;
> struct p8_aes_cbc_ctx *ctx =
> crypto_tfm_ctx(crypto_blkcipher_tfm(desc->tfm));
> - struct blkcipher_desc fallback_desc = {
> - .tfm = ctx->fallback,
> - .info = desc->info,
> - .flags = desc->flags
> - };
>
> if (in_interrupt()) {
> - ret = crypto_blkcipher_encrypt(&fallback_desc, dst, src,
> - nbytes);
> + SKCIPHER_REQUEST_ON_STACK(req, ctx->fallback);
> + skcipher_request_set_tfm(req, ctx->fallback);
> + skcipher_request_set_callback(req, desc->flags, NULL, NULL);
> + skcipher_request_set_crypt(req, src, dst, nbytes, desc->info);
> + ret = crypto_skcipher_encrypt(req);
> + skcipher_request_zero(req);
> } else {
> preempt_disable();
> pagefault_disable();
> @@ -144,15 +145,14 @@ static int p8_aes_cbc_decrypt(struct blkcipher_desc *desc,
> struct blkcipher_walk walk;
> struct p8_aes_cbc_ctx *ctx =
> crypto_tfm_ctx(crypto_blkcipher_tfm(desc->tfm));
> - struct blkcipher_desc fallback_desc = {
> - .tfm = ctx->fallback,
> - .info = desc->info,
> - .flags = desc->flags
> - };
>
> if (in_interrupt()) {
> - ret = crypto_blkcipher_decrypt(&fallback_desc, dst, src,
> - nbytes);
> + SKCIPHER_REQUEST_ON_STACK(req, ctx->fallback);
> + skcipher_request_set_tfm(req, ctx->fallback);
> + skcipher_request_set_callback(req, desc->flags, NULL, NULL);
> + skcipher_request_set_crypt(req, src, dst, nbytes, desc->info);
> + ret = crypto_skcipher_decrypt(req);
> + skcipher_request_zero(req);
> } else {
> preempt_disable();
> pagefault_disable();
> --
> 2.7.4
>
--
Regards,
Marcelo
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 473 bytes --]
next prev parent reply other threads:[~2017-02-26 19:21 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-02-22 18:00 [PATCH 1/2] crypto: vmx - Use skcipher for cbc fallback Paulo Flabiano Smorigo
2017-02-22 18:00 ` Paulo Flabiano Smorigo
2017-02-22 19:18 ` Marcelo Cerri
2017-02-22 19:18 ` Marcelo Cerri
2017-02-22 22:17 ` Marcelo Cerri
2017-02-23 11:21 ` Herbert Xu
2017-02-23 13:42 ` Marcelo Cerri
2017-02-25 14:42 ` Herbert Xu
2017-02-23 11:20 ` Herbert Xu
2017-02-24 14:23 ` [PATCH v2 " Paulo Flabiano Smorigo
2017-02-24 14:23 ` Paulo Flabiano Smorigo
2017-02-26 19:21 ` Marcelo Cerri [this message]
2017-03-01 13:58 ` [PATCH v3 " Paulo Flabiano Smorigo
2017-03-02 11:07 ` Herbert Xu
2017-03-02 11:07 ` Herbert Xu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170226192107.GA7129@gallifrey \
--to=marcelo.cerri@canonical.com \
--cc=benh@kernel.crashing.org \
--cc=davem@davemloft.net \
--cc=herbert@gondor.apana.org.au \
--cc=linux-crypto@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=mpe@ellerman.id.au \
--cc=paulus@samba.org \
--cc=pfsmorigo@linux.vnet.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.