X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=crypto%2Fapi.c;h=c11ec1fd4f18d240be29657630caa4e273106a70;hb=600991b003039bd86d89aed0a88de89987ccbcd1;hp=8145310d7985dcfde689bf04dfe949d2ee6908f6;hpb=c7fc05992afcf1d63d6d5fb6142c8d39094dbca9;p=linux-2.6 diff --git a/crypto/api.c b/crypto/api.c index 8145310d79..c11ec1fd4f 100644 --- a/crypto/api.c +++ b/crypto/api.c @@ -229,7 +229,7 @@ void crypto_free_tfm(struct crypto_tfm *tfm) static inline int crypto_set_driver_name(struct crypto_alg *alg) { static const char suffix[] = "-generic"; - char *driver_name = (char *)alg->cra_driver_name; + char *driver_name = alg->cra_driver_name; int len; if (*driver_name) @@ -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;