On Mon, Jul 10, 2006 at 01:22:12AM +1200, Michal Ludvig wrote:
>
> padlock_cra_init() correctly says fallback TFM couldn't be allocated and
> returns 1. However AH SA is created anyway and padlock-sha has one user.
> setkey -F segfaults, because in cra_exit() I assume the fallback tfm was
> not null and trying to free it. I never expected to get cra_exit()
> called when cra_init() failed.
Are you sure your cra_init returned a non-zero error? The code in api.c
reads:
if (alg->cra_init && (err = alg->cra_init(tfm))) {
if (err == -EAGAIN)
crypto_shoot_alg(alg);
goto cra_init_failed;
}
goto out;
cra_init_failed:
crypto_exit_ops(tfm);
Which leads me to believe that in your case cra_init returned zero.
> BTW Before applying your two last patches from 06/07/03 I got the
> attached attached Oops with setkey segfaulting. Then all subsequent
> setkey processes stay in D state. Not sure if it was treated by one of
> those patches.
Please see below.
> Test 2: Now some cryptomgr complaints (should go to its own thread but
> /me is too lazy).
>
> modprobe sha1 and the above setkey. lsmod shows 1 user of sha1. flushed
> SA and modprobed padlock-sha. setkey that AH SA again - lsmod again
> shows 1 user of sha1 and no users for padlock-sha! Strange...
>
> It turns out that cryptomgr created hmac(sha1) from sha1-generic and
> doesn't update list (or create another higher-prio entry) after
> padlock-sha was inserted.
>
> Another bug?
This is a valid complaint. I'll need to think about this.
> Call Trace:
> [<c01123a0>] default_wake_function+0x0/0x10
> [<c012447b>] call_usermodehelper_keys+0x10b/0x120
> [<c012447b>] call_usermodehelper_keys+0x10b/0x120
> [<c01245c8>] request_module+0x48/0xe0
> [<c0124490>] __call_usermodehelper+0x0/0x50
> [<c01b66f2>] crypto_alg_mod_lookup+0x72/0x250
> [<c01b690b>] crypto_alloc_tfm+0x1b/0x50
> [<cd0b41a4>] padlock_cra_init+0x14/0x70 [padlock_sha]
Could you please print out what string padlock_cra_init passed to
crypto_alloc_tfm?
Cheers,
--
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <[EMAIL PROTECTED]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
-
To unsubscribe from this list: send the line "unsubscribe linux-crypto" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html