mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2025-01-14 04:00:31 +03:00
module: icp: remove unused me_mutex
It only needs to be locked if dynamic changes can occur. They can't. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz> Closes #12901
This commit is contained in:
parent
cb6e9c3f5f
commit
1cb6fa2cb8
@ -107,8 +107,6 @@ kcf_get_mech_provider(crypto_mech_type_t mech_type, kcf_mech_entry_t **mepp,
|
|||||||
if (mepp != NULL)
|
if (mepp != NULL)
|
||||||
*mepp = me;
|
*mepp = me;
|
||||||
|
|
||||||
mutex_enter(&me->me_mutex);
|
|
||||||
|
|
||||||
/* Is there a provider? */
|
/* Is there a provider? */
|
||||||
if (pd == NULL && (mdesc = me->me_sw_prov) != NULL) {
|
if (pd == NULL && (mdesc = me->me_sw_prov) != NULL) {
|
||||||
pd = mdesc->pm_prov_desc;
|
pd = mdesc->pm_prov_desc;
|
||||||
@ -130,6 +128,5 @@ kcf_get_mech_provider(crypto_mech_type_t mech_type, kcf_mech_entry_t **mepp,
|
|||||||
} else
|
} else
|
||||||
KCF_PROV_REFHOLD(pd);
|
KCF_PROV_REFHOLD(pd);
|
||||||
|
|
||||||
mutex_exit(&me->me_mutex);
|
|
||||||
return (pd);
|
return (pd);
|
||||||
}
|
}
|
||||||
|
@ -146,8 +146,6 @@ kcf_destroy_mech_tabs(void)
|
|||||||
for (class = KCF_FIRST_OPSCLASS; class <= KCF_LAST_OPSCLASS; class++) {
|
for (class = KCF_FIRST_OPSCLASS; class <= KCF_LAST_OPSCLASS; class++) {
|
||||||
max = kcf_mech_tabs_tab[class].met_size;
|
max = kcf_mech_tabs_tab[class].met_size;
|
||||||
me_tab = kcf_mech_tabs_tab[class].met_tab;
|
me_tab = kcf_mech_tabs_tab[class].met_tab;
|
||||||
for (i = 0; i < max; i++)
|
|
||||||
mutex_destroy(&(me_tab[i].me_mutex));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -176,8 +174,6 @@ kcf_init_mech_tabs(void)
|
|||||||
int max = kcf_mech_tabs_tab[class].met_size;
|
int max = kcf_mech_tabs_tab[class].met_size;
|
||||||
me_tab = kcf_mech_tabs_tab[class].met_tab;
|
me_tab = kcf_mech_tabs_tab[class].met_tab;
|
||||||
for (int i = 0; i < max; i++) {
|
for (int i = 0; i < max; i++) {
|
||||||
mutex_init(&(me_tab[i].me_mutex), NULL,
|
|
||||||
MUTEX_DEFAULT, NULL);
|
|
||||||
if (me_tab[i].me_name[0] != 0) {
|
if (me_tab[i].me_name[0] != 0) {
|
||||||
me_tab[i].me_mechid = KCF_MECHID(class, i);
|
me_tab[i].me_mechid = KCF_MECHID(class, i);
|
||||||
(void) mod_hash_insert(kcf_mech_hash,
|
(void) mod_hash_insert(kcf_mech_hash,
|
||||||
@ -242,7 +238,6 @@ kcf_create_mech_entry(kcf_ops_class_t class, const char *mechname)
|
|||||||
size = kcf_mech_tabs_tab[class].met_size;
|
size = kcf_mech_tabs_tab[class].met_size;
|
||||||
|
|
||||||
while (i < size) {
|
while (i < size) {
|
||||||
mutex_enter(&(me_tab[i].me_mutex));
|
|
||||||
if (me_tab[i].me_name[0] == 0) {
|
if (me_tab[i].me_name[0] == 0) {
|
||||||
/* Found an empty spot */
|
/* Found an empty spot */
|
||||||
(void) strlcpy(me_tab[i].me_name, mechname,
|
(void) strlcpy(me_tab[i].me_name, mechname,
|
||||||
@ -250,14 +245,12 @@ kcf_create_mech_entry(kcf_ops_class_t class, const char *mechname)
|
|||||||
me_tab[i].me_name[CRYPTO_MAX_MECH_NAME-1] = '\0';
|
me_tab[i].me_name[CRYPTO_MAX_MECH_NAME-1] = '\0';
|
||||||
me_tab[i].me_mechid = KCF_MECHID(class, i);
|
me_tab[i].me_mechid = KCF_MECHID(class, i);
|
||||||
|
|
||||||
mutex_exit(&(me_tab[i].me_mutex));
|
|
||||||
/* Add the new mechanism to the hash table */
|
/* Add the new mechanism to the hash table */
|
||||||
(void) mod_hash_insert(kcf_mech_hash,
|
(void) mod_hash_insert(kcf_mech_hash,
|
||||||
(mod_hash_key_t)me_tab[i].me_name,
|
(mod_hash_key_t)me_tab[i].me_name,
|
||||||
(mod_hash_val_t)&(me_tab[i].me_mechid));
|
(mod_hash_val_t)&(me_tab[i].me_mechid));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
mutex_exit(&(me_tab[i].me_mutex));
|
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -353,7 +346,6 @@ kcf_add_mech_provider(short mech_indx,
|
|||||||
* Add new kcf_prov_mech_desc at the front of HW providers
|
* Add new kcf_prov_mech_desc at the front of HW providers
|
||||||
* chain.
|
* chain.
|
||||||
*/
|
*/
|
||||||
mutex_enter(&mech_entry->me_mutex);
|
|
||||||
if (mech_entry->me_sw_prov != NULL) {
|
if (mech_entry->me_sw_prov != NULL) {
|
||||||
/*
|
/*
|
||||||
* There is already a provider for this mechanism.
|
* There is already a provider for this mechanism.
|
||||||
@ -377,7 +369,6 @@ kcf_add_mech_provider(short mech_indx,
|
|||||||
*/
|
*/
|
||||||
mech_entry->me_sw_prov = prov_mech;
|
mech_entry->me_sw_prov = prov_mech;
|
||||||
}
|
}
|
||||||
mutex_exit(&mech_entry->me_mutex);
|
|
||||||
|
|
||||||
*pmdpp = prov_mech;
|
*pmdpp = prov_mech;
|
||||||
|
|
||||||
@ -425,16 +416,13 @@ kcf_remove_mech_provider(const char *mech_name, kcf_provider_desc_t *prov_desc)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
mutex_enter(&mech_entry->me_mutex);
|
|
||||||
if (mech_entry->me_sw_prov == NULL ||
|
if (mech_entry->me_sw_prov == NULL ||
|
||||||
mech_entry->me_sw_prov->pm_prov_desc != prov_desc) {
|
mech_entry->me_sw_prov->pm_prov_desc != prov_desc) {
|
||||||
/* not the provider for this mechanism */
|
/* not the provider for this mechanism */
|
||||||
mutex_exit(&mech_entry->me_mutex);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
prov_mech = mech_entry->me_sw_prov;
|
prov_mech = mech_entry->me_sw_prov;
|
||||||
mech_entry->me_sw_prov = NULL;
|
mech_entry->me_sw_prov = NULL;
|
||||||
mutex_exit(&mech_entry->me_mutex);
|
|
||||||
|
|
||||||
/* free entry */
|
/* free entry */
|
||||||
KCF_PROV_REFRELE(prov_mech->pm_prov_desc);
|
KCF_PROV_REFRELE(prov_mech->pm_prov_desc);
|
||||||
|
@ -290,24 +290,17 @@ kcf_get_sw_prov(crypto_mech_type_t mech_type, kcf_provider_desc_t **pd,
|
|||||||
if (kcf_get_mech_entry(mech_type, &me) != KCF_SUCCESS)
|
if (kcf_get_mech_entry(mech_type, &me) != KCF_SUCCESS)
|
||||||
return (CRYPTO_MECHANISM_INVALID);
|
return (CRYPTO_MECHANISM_INVALID);
|
||||||
|
|
||||||
/*
|
/* Get the provider for this mechanism. */
|
||||||
* Get the provider for this mechanism.
|
|
||||||
* Lock the mech_entry until we grab the 'pd'.
|
|
||||||
*/
|
|
||||||
mutex_enter(&me->me_mutex);
|
|
||||||
|
|
||||||
if (me->me_sw_prov == NULL ||
|
if (me->me_sw_prov == NULL ||
|
||||||
(*pd = me->me_sw_prov->pm_prov_desc) == NULL) {
|
(*pd = me->me_sw_prov->pm_prov_desc) == NULL) {
|
||||||
/* no provider for this mechanism */
|
/* no provider for this mechanism */
|
||||||
if (log_warn)
|
if (log_warn)
|
||||||
cmn_err(CE_WARN, "no provider for \"%s\"\n",
|
cmn_err(CE_WARN, "no provider for \"%s\"\n",
|
||||||
me->me_name);
|
me->me_name);
|
||||||
mutex_exit(&me->me_mutex);
|
|
||||||
return (CRYPTO_MECH_NOT_SUPPORTED);
|
return (CRYPTO_MECH_NOT_SUPPORTED);
|
||||||
}
|
}
|
||||||
|
|
||||||
KCF_PROV_REFHOLD(*pd);
|
KCF_PROV_REFHOLD(*pd);
|
||||||
mutex_exit(&me->me_mutex);
|
|
||||||
|
|
||||||
if (mep != NULL)
|
if (mep != NULL)
|
||||||
*mep = me;
|
*mep = me;
|
||||||
|
@ -244,7 +244,6 @@ typedef struct kcf_prov_mech_desc {
|
|||||||
typedef struct kcf_mech_entry {
|
typedef struct kcf_mech_entry {
|
||||||
crypto_mech_name_t me_name; /* mechanism name */
|
crypto_mech_name_t me_name; /* mechanism name */
|
||||||
crypto_mech_type_t me_mechid; /* Internal id for mechanism */
|
crypto_mech_type_t me_mechid; /* Internal id for mechanism */
|
||||||
kmutex_t me_mutex; /* access protection */
|
|
||||||
kcf_prov_mech_desc_t *me_sw_prov; /* provider */
|
kcf_prov_mech_desc_t *me_sw_prov; /* provider */
|
||||||
} kcf_mech_entry_t;
|
} kcf_mech_entry_t;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user