]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
[CRYPTO] api: Allow replacement when registering new algorithms
authorHerbert Xu <herbert@gondor.apana.org.au>
Sun, 21 May 2006 01:57:20 +0000 (11:57 +1000)
committerHerbert Xu <herbert@gondor.apana.org.au>
Mon, 26 Jun 2006 07:34:41 +0000 (17:34 +1000)
We already allow asynchronous removal of existing algorithm modules.  By
allowing the replacement of existing algorithms, we can replace algorithms
without having to wait for for all existing users to complete.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
crypto/api.c

index 735fdedd821787d3254e97ee375438a39e81e572..c11ec1fd4f18d240be29657630caa4e273106a70 100644 (file)
@@ -267,13 +267,13 @@ int crypto_register_alg(struct crypto_alg *alg)
        down_write(&crypto_alg_sem);
        
        list_for_each_entry(q, &crypto_alg_list, cra_list) {
-               if (!strcmp(q->cra_driver_name, alg->cra_driver_name)) {
+               if (q == alg) {
                        ret = -EEXIST;
                        goto out;
                }
        }
        
-       list_add_tail(&alg->cra_list, &crypto_alg_list);
+       list_add(&alg->cra_list, &crypto_alg_list);
 out:   
        up_write(&crypto_alg_sem);
        return ret;