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







Reply via email to