Hi:

[CRYPTO] api: Allow replacement when registering new algorithms

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 <[EMAIL PROTECTED]>

Cheers,
-- 
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <[EMAIL PROTECTED]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
diff --git a/crypto/api.c b/crypto/api.c
--- a/crypto/api.c
+++ b/crypto/api.c
@@ -267,13 +267,13 @@ int crypto_register_alg(struct crypto_al
        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;

Reply via email to