Am Freitag, 4. Januar 2019, 05:16:14 CET schrieb Eric Biggers:

Hi Eric,

> From: Eric Biggers <ebigg...@google.com>
> 
> The majority of skcipher templates (including both the existing ones and
> the ones remaining to be converted from the "blkcipher" API) just wrap a
> single block cipher algorithm.  This includes cbc, cfb, ctr, ecb, kw,
> ofb, and pcbc.  Add a helper function skcipher_alloc_instance_simple()
> that handles allocating an skcipher instance for this common case.
> 
> Signed-off-by: Eric Biggers <ebigg...@google.com>

Apart from the comment below:

Reviewed-by: Stephan Mueller <smuel...@chronox.de>

> +struct skcipher_instance *
> +skcipher_alloc_instance_simple(struct crypto_template *tmpl, struct rtattr
> **tb, +                              struct crypto_alg **cipher_alg_ret)
> +{
> +     struct crypto_attr_type *algt;
> +     struct crypto_alg *cipher_alg;
> +     struct skcipher_instance *inst;
> +     struct crypto_spawn *spawn;
> +     u32 mask;
> +     int err;
> +
> +     algt = crypto_get_attr_type(tb);
> +     if (IS_ERR(algt))
> +             return ERR_CAST(algt);
> +
> +     if ((algt->type ^ CRYPTO_ALG_TYPE_SKCIPHER) & algt->mask)
> +             return ERR_PTR(-EINVAL);

Why not using crypto_check_attr_type? I understand that it does not return 
algt for the next check, but maybe we can consolidate the code a bit here?

> +
> +     mask = CRYPTO_ALG_TYPE_MASK |
> +             crypto_requires_off(algt->type, algt->mask,
> +                                 CRYPTO_ALG_NEED_FALLBACK);


Ciao
Stephan


Reply via email to