Merge tag 'modules-for-v4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu...
[linux-2.6-block.git] / crypto / algapi.c
index 9a636f961572b99af844b1d8a28bebfd9463c9e2..395b082d03a92263198e03ef6db1f39df95235ae 100644 (file)
@@ -62,7 +62,7 @@ static int crypto_check_alg(struct crypto_alg *alg)
        if (alg->cra_priority < 0)
                return -EINVAL;
 
-       atomic_set(&alg->cra_refcnt, 1);
+       refcount_set(&alg->cra_refcnt, 1);
 
        return crypto_set_driver_name(alg);
 }
@@ -123,7 +123,6 @@ static void crypto_remove_instance(struct crypto_instance *inst,
        if (!tmpl || !crypto_tmpl_get(tmpl))
                return;
 
-       crypto_notify(CRYPTO_MSG_ALG_UNREGISTER, &inst->alg);
        list_move(&inst->alg.cra_list, list);
        hlist_del(&inst->list);
        inst->alg.cra_destroy = crypto_destroy_instance;
@@ -236,7 +235,7 @@ static struct crypto_larval *__crypto_register_alg(struct crypto_alg *alg)
        if (!larval->adult)
                goto free_larval;
 
-       atomic_set(&larval->alg.cra_refcnt, 1);
+       refcount_set(&larval->alg.cra_refcnt, 1);
        memcpy(larval->alg.cra_driver_name, alg->cra_driver_name,
               CRYPTO_MAX_ALG_NAME);
        larval->alg.cra_priority = alg->cra_priority;
@@ -392,7 +391,6 @@ static int crypto_remove_alg(struct crypto_alg *alg, struct list_head *list)
 
        alg->cra_flags |= CRYPTO_ALG_DEAD;
 
-       crypto_notify(CRYPTO_MSG_ALG_UNREGISTER, alg);
        list_del_init(&alg->cra_list);
        crypto_remove_spawns(alg, list, NULL);
 
@@ -411,7 +409,7 @@ int crypto_unregister_alg(struct crypto_alg *alg)
        if (ret)
                return ret;
 
-       BUG_ON(atomic_read(&alg->cra_refcnt) != 1);
+       BUG_ON(refcount_read(&alg->cra_refcnt) != 1);
        if (alg->cra_destroy)
                alg->cra_destroy(alg);
 
@@ -470,7 +468,6 @@ int crypto_register_template(struct crypto_template *tmpl)
        }
 
        list_add(&tmpl->list, &crypto_template_list);
-       crypto_notify(CRYPTO_MSG_TMPL_REGISTER, tmpl);
        err = 0;
 out:
        up_write(&crypto_alg_sem);
@@ -497,12 +494,10 @@ void crypto_unregister_template(struct crypto_template *tmpl)
                BUG_ON(err);
        }
 
-       crypto_notify(CRYPTO_MSG_TMPL_UNREGISTER, tmpl);
-
        up_write(&crypto_alg_sem);
 
        hlist_for_each_entry_safe(inst, n, list, list) {
-               BUG_ON(atomic_read(&inst->alg.cra_refcnt) != 1);
+               BUG_ON(refcount_read(&inst->alg.cra_refcnt) != 1);
                crypto_free_instance(inst);
        }
        crypto_remove_final(&users);