Merge tag 'tomoyo-pr-20200128' of git://git.osdn.net/gitroot/tomoyo/tomoyo-test1
[linux-2.6-microblaze.git] / crypto / cbc.c
index dd96bcf..e6f6273 100644 (file)
@@ -54,10 +54,12 @@ static int crypto_cbc_create(struct crypto_template *tmpl, struct rtattr **tb)
        struct crypto_alg *alg;
        int err;
 
-       inst = skcipher_alloc_instance_simple(tmpl, tb, &alg);
+       inst = skcipher_alloc_instance_simple(tmpl, tb);
        if (IS_ERR(inst))
                return PTR_ERR(inst);
 
+       alg = skcipher_ialg_simple(inst);
+
        err = -EINVAL;
        if (!is_power_of_2(alg->cra_blocksize))
                goto out_free_inst;
@@ -66,14 +68,11 @@ static int crypto_cbc_create(struct crypto_template *tmpl, struct rtattr **tb)
        inst->alg.decrypt = crypto_cbc_decrypt;
 
        err = skcipher_register_instance(tmpl, inst);
-       if (err)
-               goto out_free_inst;
-       goto out_put_alg;
-
+       if (err) {
 out_free_inst:
-       inst->free(inst);
-out_put_alg:
-       crypto_mod_put(alg);
+               inst->free(inst);
+       }
+
        return err;
 }