linux/drivers/crypto
Herbert Xu a760a6656e crypto: api - Fix module load deadlock with fallback algorithms
With the mandatory algorithm testing at registration, we have
now created a deadlock with algorithms requiring fallbacks.
This can happen if the module containing the algorithm requiring
fallback is loaded first, without the fallback module being loaded
first.  The system will then try to test the new algorithm, find
that it needs to load a fallback, and then try to load that.

As both algorithms share the same module alias, it can attempt
to load the original algorithm again and block indefinitely.

As algorithms requiring fallbacks are a special case, we can fix
this by giving them a different module alias than the rest.  Then
it's just a matter of using the right aliases according to what
algorithms we're trying to find.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2009-02-26 14:06:31 +08:00
..
geode-aes.c [CRYPTO] geode: Add __dev{init,exit} annotations 2008-01-11 08:16:38 +11:00
geode-aes.h [CRYPTO] geode: do not copy the IV too often 2008-01-11 08:16:26 +11:00
hifn_795x.c crypto: hifn_795x - Use softirq kernel mapping in bh context 2008-12-25 11:02:00 +11:00
ixp4xx_crypto.c [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
Kconfig crypto: ixp4xx - Select CRYPTO_AUTHENC 2008-07-13 20:12:11 +08:00
Makefile crypto: ixp4xx - Hardware crypto support for IXP4xx CPUs 2008-07-10 20:35:16 +08:00
padlock-aes.c crypto: api - Fix module load deadlock with fallback algorithms 2009-02-26 14:06:31 +08:00
padlock-sha.c crypto: api - Fix module load deadlock with fallback algorithms 2009-02-26 14:06:31 +08:00
padlock.h [CRYPTO] padlock: Added block cipher versions of CBC/ECB 2006-09-21 11:44:35 +10:00
talitos.c crypto: talitos - Ack done interrupt in isr instead of tasklet 2008-12-25 11:02:33 +11:00
talitos.h crypto: remove uses of __constant_{endian} helpers 2008-12-25 11:02:03 +11:00