mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-24 11:18:52 +03:00
module: icp: drop software provider generation numbers
We register all providers at once, before anything happens Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz> Closes #12901
This commit is contained in:
@@ -90,22 +90,8 @@ retry:
|
||||
return (error);
|
||||
}
|
||||
|
||||
/*
|
||||
* Check the validity of the context template
|
||||
* It is very rare that the generation number mis-matches, so
|
||||
* is acceptable to fail here, and let the consumer recover by
|
||||
* freeing this tmpl and create a new one for the key and new provider
|
||||
*/
|
||||
if (((ctx_tmpl = (kcf_ctx_template_t *)tmpl) != NULL)) {
|
||||
if (ctx_tmpl->ct_generation != me->me_gen_swprov) {
|
||||
if (list != NULL)
|
||||
kcf_free_triedlist(list);
|
||||
KCF_PROV_REFRELE(pd);
|
||||
return (CRYPTO_OLD_CTX_TEMPLATE);
|
||||
} else {
|
||||
spi_ctx_tmpl = ctx_tmpl->ct_prov_tmpl;
|
||||
}
|
||||
}
|
||||
if (((ctx_tmpl = (kcf_ctx_template_t *)tmpl) != NULL))
|
||||
spi_ctx_tmpl = ctx_tmpl->ct_prov_tmpl;
|
||||
|
||||
/* The fast path for SW providers. */
|
||||
if (CHECK_FASTPATH(crq, pd)) {
|
||||
@@ -193,22 +179,8 @@ retry:
|
||||
return (error);
|
||||
}
|
||||
|
||||
/*
|
||||
* Check the validity of the context template
|
||||
* It is very rare that the generation number mis-matches, so
|
||||
* is acceptable to fail here, and let the consumer recover by
|
||||
* freeing this tmpl and create a new one for the key and new provider
|
||||
*/
|
||||
if (((ctx_tmpl = (kcf_ctx_template_t *)tmpl) != NULL)) {
|
||||
if (ctx_tmpl->ct_generation != me->me_gen_swprov) {
|
||||
if (list != NULL)
|
||||
kcf_free_triedlist(list);
|
||||
KCF_PROV_REFRELE(pd);
|
||||
return (CRYPTO_OLD_CTX_TEMPLATE);
|
||||
} else {
|
||||
spi_ctx_tmpl = ctx_tmpl->ct_prov_tmpl;
|
||||
}
|
||||
}
|
||||
if (((ctx_tmpl = (kcf_ctx_template_t *)tmpl) != NULL))
|
||||
spi_ctx_tmpl = ctx_tmpl->ct_prov_tmpl;
|
||||
|
||||
/* The fast path for SW providers. */
|
||||
if (CHECK_FASTPATH(crq, pd)) {
|
||||
|
||||
Reference in New Issue
Block a user