mirror of
https://github.com/torvalds/linux.git
synced 2024-11-10 06:01:57 +00:00
crypto: cts - Only access common skcipher fields on spawn
As skcipher spawns may be of the type lskcipher, only the common fields may be accessed. This was already the case but use the correct helpers to make this more obvious. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
parent
36b6fbefc0
commit
7202e65b1e
12
crypto/cts.c
12
crypto/cts.c
@ -324,8 +324,8 @@ static void crypto_cts_free(struct skcipher_instance *inst)
|
||||
static int crypto_cts_create(struct crypto_template *tmpl, struct rtattr **tb)
|
||||
{
|
||||
struct crypto_skcipher_spawn *spawn;
|
||||
struct skcipher_alg_common *alg;
|
||||
struct skcipher_instance *inst;
|
||||
struct skcipher_alg *alg;
|
||||
u32 mask;
|
||||
int err;
|
||||
|
||||
@ -344,10 +344,10 @@ static int crypto_cts_create(struct crypto_template *tmpl, struct rtattr **tb)
|
||||
if (err)
|
||||
goto err_free_inst;
|
||||
|
||||
alg = crypto_spawn_skcipher_alg(spawn);
|
||||
alg = crypto_spawn_skcipher_alg_common(spawn);
|
||||
|
||||
err = -EINVAL;
|
||||
if (crypto_skcipher_alg_ivsize(alg) != alg->base.cra_blocksize)
|
||||
if (alg->ivsize != alg->base.cra_blocksize)
|
||||
goto err_free_inst;
|
||||
|
||||
if (strncmp(alg->base.cra_name, "cbc(", 4))
|
||||
@ -363,9 +363,9 @@ static int crypto_cts_create(struct crypto_template *tmpl, struct rtattr **tb)
|
||||
inst->alg.base.cra_alignmask = alg->base.cra_alignmask;
|
||||
|
||||
inst->alg.ivsize = alg->base.cra_blocksize;
|
||||
inst->alg.chunksize = crypto_skcipher_alg_chunksize(alg);
|
||||
inst->alg.min_keysize = crypto_skcipher_alg_min_keysize(alg);
|
||||
inst->alg.max_keysize = crypto_skcipher_alg_max_keysize(alg);
|
||||
inst->alg.chunksize = alg->chunksize;
|
||||
inst->alg.min_keysize = alg->min_keysize;
|
||||
inst->alg.max_keysize = alg->max_keysize;
|
||||
|
||||
inst->alg.base.cra_ctxsize = sizeof(struct crypto_cts_ctx);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user