From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
To: Herbert Xu <herbert@gondor.apana.org.au>
Cc: "open list:HARDWARE RANDOM NUMBER GENERATOR CORE"
<linux-crypto@vger.kernel.org>,
Eric Biggers <ebiggers@google.com>,
device-mapper development <dm-devel@redhat.com>,
linux-fscrypt@vger.kernel.org,
Gilad Ben-Yossef <gilad@benyossef.com>,
Milan Broz <gmazyland@gmail.com>
Subject: Re: [PATCH v11 1/4] crypto: essiv - create wrapper template for ESSIV generation
Date: Thu, 15 Aug 2019 07:59:34 +0300
Message-ID: <CAKv+Gu_maif=kZk-HRMx7pP=ths1vuTgcu4kFpzz0tCkO2+DFA@mail.gmail.com> (raw)
In-Reply-To: <20190815023734.GB23782@gondor.apana.org.au>
On Thu, 15 Aug 2019 at 05:37, Herbert Xu <herbert@gondor.apana.org.au> wrote:
>
> On Wed, Aug 14, 2019 at 07:37:43PM +0300, Ard Biesheuvel wrote:
> >
> > + /* Block cipher, e.g., "aes" */
> > + crypto_set_spawn(&ictx->essiv_cipher_spawn, inst);
> > + err = crypto_grab_spawn(&ictx->essiv_cipher_spawn, essiv_cipher_name,
> > + CRYPTO_ALG_TYPE_CIPHER, CRYPTO_ALG_TYPE_MASK);
> > + if (err)
> > + goto out_drop_skcipher;
> > + essiv_cipher_alg = ictx->essiv_cipher_spawn.alg;
> > +
> > + /* Synchronous hash, e.g., "sha256" */
> > + _hash_alg = crypto_alg_mod_lookup(shash_name,
> > + CRYPTO_ALG_TYPE_SHASH,
> > + CRYPTO_ALG_TYPE_MASK);
> > + if (IS_ERR(_hash_alg)) {
> > + err = PTR_ERR(_hash_alg);
> > + goto out_drop_essiv_cipher;
> > + }
> > + hash_alg = __crypto_shash_alg(_hash_alg);
> > + err = crypto_init_shash_spawn(&ictx->hash_spawn, hash_alg, inst);
> > + if (err)
> > + goto out_put_hash;
>
> I wouldn't use spawns for these two algorithms. The point of
> spawns is mainly to serve as a notification channel so we can
> tear down the top-level instance when a better underlying spawn
> implementation is added to the system.
>
> For these two algorithms, we don't really care about their performance
> to do such a tear-down since they only operate on small pieces of
> data.
>
> Therefore just keep things simple and allocate them in the tfm
> init function.
>
So how do I ensure that the cipher and shash are actually loaded at
create() time, and that they are still loaded at TFM init time?
next prev parent reply index
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-14 16:37 [PATCH v11 0/4] crypto: switch to crypto API " Ard Biesheuvel
2019-08-14 16:37 ` [PATCH v11 1/4] crypto: essiv - create wrapper template " Ard Biesheuvel
2019-08-15 2:37 ` Herbert Xu
2019-08-15 4:59 ` Ard Biesheuvel [this message]
2019-08-15 5:13 ` Herbert Xu
2019-08-15 5:15 ` Ard Biesheuvel
2019-08-15 11:35 ` Herbert Xu
2019-08-15 17:46 ` Ard Biesheuvel
2019-08-15 17:59 ` Ard Biesheuvel
2019-08-14 16:37 ` [PATCH v11 2/4] crypto: essiv - add tests for essiv in cbc(aes)+sha256 mode Ard Biesheuvel
2019-08-14 16:37 ` [PATCH v11 3/4] crypto: arm64/aes-cts-cbc - factor out CBC en/decryption of a walk Ard Biesheuvel
2019-08-14 16:37 ` [PATCH v11 4/4] crypto: arm64/aes - implement accelerated ESSIV/CBC mode Ard Biesheuvel
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='CAKv+Gu_maif=kZk-HRMx7pP=ths1vuTgcu4kFpzz0tCkO2+DFA@mail.gmail.com' \
--to=ard.biesheuvel@linaro.org \
--cc=dm-devel@redhat.com \
--cc=ebiggers@google.com \
--cc=gilad@benyossef.com \
--cc=gmazyland@gmail.com \
--cc=herbert@gondor.apana.org.au \
--cc=linux-crypto@vger.kernel.org \
--cc=linux-fscrypt@vger.kernel.org \
/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
Linux-Crypto Archive on lore.kernel.org
Archives are clonable:
git clone --mirror https://lore.kernel.org/linux-crypto/0 linux-crypto/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 linux-crypto linux-crypto/ https://lore.kernel.org/linux-crypto \
linux-crypto@vger.kernel.org
public-inbox-index linux-crypto
Example config snippet for mirrors
Newsgroup available over NNTP:
nntp://nntp.lore.kernel.org/org.kernel.vger.linux-crypto
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git