Hi! I have a wired problem loading a signed kcf crypto provider. I was already able to load it back in time, but it stopped working for some unknown reason.
elfsign says every thing is ok: -----8<-----8<------8<--- # elfsign verify padlock elfsign: verification of padlock passed. -----8<-----8<------8<--- After a "modload padlock" crypto_register_provider returns with rc=0x50. I setup a dtrace script, which leads to here: http://cvs.opensolaris.org/source/xref/amd/ibs-gate/usr/src/uts/common/crypto/core/kcf.c /* 183 * See if this module has a proper signature section. 184 */ 185 if (mp->sigdata == NULL) { 186 return (-1); 187 } ---------- vvvv dtrace ouput vvvvv ---- CPU FUNCTION 0 -> crypto_register_provider 0 -> kcf_alloc_provider_desc 0 -> kmem_zalloc 0 -> kmem_cache_alloc 0 <- kmem_cache_alloc rc=3719659904 .. some stuff here... 0 -> allocate_ops_v1 0 -> kmem_alloc 0 -> kmem_cache_alloc .. some more stuff here... 0 <- kcf_add_mech_provider rc=0 0 <- init_prov_mechs rc=0 0 -> kcf_prov_tab_add_provider 0 <- kcf_prov_tab_add_provider rc=0 ******* interesting part *** 0 -> kcf_need_signature_verification 0 <- kcf_need_signature_verification rc=4294967295 *************************** 0 -> undo_register_provider 0 -> kcf_remove_mech_provider 0 -> kcf_mech_hash_find 0 -> mod_hash_find 0 -> i_mod_hash_find_nosync ............. 0 <- kcf_remove_mech_provider rc=62038 0 -> kcf_prov_tab_rem_provider 0 -> cv_broadcast 0 <- cv_broadcast rc=0