]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
crypto: cts - Only access common skcipher fields on spawn
authorHerbert Xu <herbert@gondor.apana.org.au>
Tue, 3 Oct 2023 03:43:28 +0000 (11:43 +0800)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 13 Oct 2023 10:27:27 +0000 (18:27 +0800)
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>
crypto/cts.c

index 8f604f6554b1c3e2799abb1e02fa1e5d58d570e4..f5b42156b6c724a4e9b5bd3f50bfc3f37949da41 100644 (file)
@@ -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);