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
..
async_tx
dmaengine: replace dma_async_client_register with dmaengine_get
2009-01-06 11:38:17 -07:00
ablkcipher.c
aead.c
aes_generic.c
crypto: aes - Precompute tables
2008-12-25 11:05:13 +11:00
ahash.c
crypto: ahash - Fix digest size in /proc/crypto
2009-02-19 14:46:26 +08:00
algapi.c
crypto: api - Fix algorithm test race that broke aead initialisation
2009-01-28 14:09:59 +11:00
algboss.c
ansi_cprng.c
crypto: ansi_cprng - fix inverted DT increment routine
2008-12-25 11:01:49 +11:00
anubis.c
api.c
crypto: api - Fix module load deadlock with fallback algorithms
2009-02-26 14:06:31 +08:00
arc4.c
authenc.c
crypto: authenc - Fix zero-length IV crash
2009-01-15 15:33:49 +11:00
blkcipher.c
crypto: blkcipher - Fix WARN_ON handling in walk_done
2009-01-27 17:11:13 +11:00
blowfish.c
camellia.c
cast5.c
cast6.c
cbc.c
ccm.c
crypto: ccm - Fix handling of null assoc data
2009-01-27 17:11:15 +11:00
chainiv.c
cipher.c
compress.c
crc32c.c
libcrc32c: Move implementation to crypto crc32c
2008-12-25 11:01:40 +11:00
cryptd.c
crypto_null.c
crypto: null - Switch to shash
2008-12-25 11:02:07 +11:00
ctr.c
cts.c
deflate.c
des_generic.c
crypto: des3_ede - permit weak keys unless REQ_WEAK_KEY set
2008-12-25 11:02:28 +11:00
digest.c
ecb.c
eseqiv.c
fcrypt.c
crypto: remove uses of __constant_{endian} helpers
2008-12-25 11:02:03 +11:00
fips.c
gcm.c
gf128mul.c
hash.c
hmac.c
crypto: hash - Export shash through hash
2008-12-25 11:01:33 +11:00
internal.h
Kconfig
crypto: sha512 - Switch to shash
2008-12-25 11:02:27 +11:00
khazad.c
krng.c
lrw.c
crypto: lrw - Fix big endian support
2009-02-17 20:00:11 +08:00
lzo.c
Makefile
md4.c
crypto: md4 - Switch to shash
2008-12-25 11:02:16 +11:00
md5.c
crypto: md5 - Switch to shash
2008-12-25 11:02:18 +11:00
michael_mic.c
crypto: michael_mic - Switch to shash
2008-12-25 11:02:24 +11:00
pcbc.c
proc.c
crypto: api - Call type show function before legacy for proc
2008-12-25 11:01:32 +11:00
ripemd.h
rmd128.c
crypto: rmd128 - Switch to shash
2008-12-25 11:02:09 +11:00
rmd160.c
crypto: rmd160 - Switch to shash
2008-12-25 11:02:10 +11:00
rmd256.c
crypto: rmd256 - Switch to shash
2008-12-25 11:02:12 +11:00
rmd320.c
crypto: rmd320 - Switch to shash
2008-12-25 11:02:13 +11:00
rng.c
salsa20_generic.c
crypto: salsa20 - Remove private wrappers around various operations
2008-12-25 11:02:30 +11:00
scatterwalk.c
crypto: scatterwalk - Avoid flush_dcache_page on slab pages
2009-02-09 14:30:25 +11:00
seed.c
seqiv.c
serpent.c
sha1_generic.c
crypto: sha1 - Switch to shash
2008-12-25 11:02:15 +11:00
sha256_generic.c
crypto: sha256 - Switch to shash
2008-12-25 11:02:19 +11:00
sha512_generic.c
crypto: sha512 - Switch to shash
2008-12-25 11:02:27 +11:00
shash.c
crypto: shash - Fix module refcount
2009-02-05 16:19:31 +11:00
tcrypt.c
tcrypt.h
tea.c
testmgr.c
crypto: testmgr - Validate output length in (de)compression tests
2008-12-25 11:02:04 +11:00
testmgr.h
crypto: testmgr - Correct comment about deflate parameters
2008-12-25 11:02:32 +11:00
tgr192.c
crypto: tgr192 - Switch to shash
2008-12-25 11:02:21 +11:00
twofish.c
twofish_common.c
wp512.c
crypto: wp512 - Switch to shash
2008-12-25 11:02:22 +11:00
xcbc.c
xor.c
xts.c