diff options
Diffstat (limited to 'sys/contrib/openzfs/module/icp/illumos-crypto.c')
-rw-r--r-- | sys/contrib/openzfs/module/icp/illumos-crypto.c | 31 |
1 files changed, 9 insertions, 22 deletions
diff --git a/sys/contrib/openzfs/module/icp/illumos-crypto.c b/sys/contrib/openzfs/module/icp/illumos-crypto.c index 3c5ef4393940..13f05c06ed5c 100644 --- a/sys/contrib/openzfs/module/icp/illumos-crypto.c +++ b/sys/contrib/openzfs/module/icp/illumos-crypto.c @@ -7,7 +7,7 @@ * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE - * or http://www.opensolaris.org/os/licensing. + * or https://opensource.org/licenses/CDDL-1.0. * See the License for the specific language governing permissions * and limitations under the License. * @@ -36,7 +36,6 @@ #include <sys/crypto/api.h> #include <sys/crypto/impl.h> #include <sys/crypto/sched_impl.h> -#include <sys/modhash_impl.h> #include <sys/crypto/icp.h> /* @@ -61,16 +60,15 @@ * the future it may make sense to have encryption algorithms that are * loadable into the ICP at runtime via separate kernel modules. * However, considering that this code will probably not see much use - * outside of zfs and zfs encryption only requires aes and sha256 + * outside of zfs and zfs encryption only requires a select few * algorithms it seemed like more trouble than it was worth to port over * Illumos's kernel module structure to a Linux kernel module. In * addition, The Illumos code related to keeping track of kernel modules - * is very much tied to the Illumos OS and proved difficult to port to - * Linux. Therefore, the structure of the ICP was simplified to work - * statically and several pieces of code responsible for keeping track - * of Illumos kernel modules were removed and simplified. All module - * initialization and destruction is now called in this file during - * Linux kernel module loading and unloading. + * is very much tied to the Illumos OS and proved difficult to port. + * Therefore, the structure of the ICP was simplified to work + * statically and all the Illumos kernel module loading subsystem was removed. + * All module initialization and destruction is now called in this file + * during kernel module loading and unloading. * * 4) Adding destructors: The Illumos Crypto Layer is built into * the Illumos kernel and is not meant to be unloaded. Some destructors @@ -106,27 +104,21 @@ * ZFS Makefiles. */ -void __exit +void icp_fini(void) { skein_mod_fini(); sha2_mod_fini(); - sha1_mod_fini(); - edonr_mod_fini(); aes_mod_fini(); kcf_sched_destroy(); kcf_prov_tab_destroy(); kcf_destroy_mech_tabs(); - mod_hash_fini(); } /* roughly equivalent to kcf.c: _init() */ int __init icp_init(void) { - /* initialize the mod hash module */ - mod_hash_init(); - /* initialize the mechanisms tables supported out-of-the-box */ kcf_init_mech_tabs(); @@ -141,18 +133,13 @@ icp_init(void) /* initialize algorithms */ aes_mod_init(); - edonr_mod_init(); - sha1_mod_init(); sha2_mod_init(); skein_mod_init(); return (0); } -#if defined(_KERNEL) +#if defined(_KERNEL) && defined(__FreeBSD__) module_exit(icp_fini); module_init(icp_init); -MODULE_AUTHOR(ZFS_META_AUTHOR); -MODULE_LICENSE(ZFS_META_LICENSE); -MODULE_VERSION(ZFS_META_VERSION "-" ZFS_META_RELEASE); #endif |