Herbert Xu
a697690bec
crypto: authenc - Avoid using clobbered request pointer
...
Authenc works in two stages for encryption, it first encrypts and
then computes an ICV. The context memory of the request is used
by both operations. The problem is that when an asynchronous
encryption completes, we will compute the ICV and then reread the
context memory of the encryption to get the original request.
It just happens that we have a buffer of 16 bytes in front of the
request pointer, so ICVs of 16 bytes (such as SHA1) do not trigger
the bug. However, any attempt to uses a larger ICV instantly kills
the machine when the first asynchronous encryption is completed.
This patch fixes this by saving the request pointer before we start
the ICV computation.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2008-08-23 01:04:06 +10:00
..
async_tx
async_tx: fix missing braces in async_xor_zero_sum
2008-08-05 10:25:20 -07:00
ablkcipher.c
[CRYPTO] skcipher: Move chainiv/seqiv into crypto_blkcipher module
2008-02-23 11:12:06 +08:00
aead.c
aes_generic.c
[CRYPTO] aes: Export generic setkey
2008-04-21 10:19:34 +08:00
ahash.c
crypto: hash - Added scatter list walking helper
2008-07-10 20:35:18 +08:00
algapi.c
anubis.c
[CRYPTO] all: Clean up init()/fini()
2008-04-21 10:19:34 +08:00
api.c
[CRYPTO] hash: Add asynchronous hash support
2008-07-10 20:35:13 +08:00
arc4.c
authenc.c
crypto: authenc - Avoid using clobbered request pointer
2008-08-23 01:04:06 +10:00
blkcipher.c
[CRYPTO] skcipher: Move chainiv/seqiv into crypto_blkcipher module
2008-02-23 11:12:06 +08:00
blowfish.c
[CRYPTO] all: Clean up init()/fini()
2008-04-21 10:19:34 +08:00
camellia.c
crypto: camellia - Use kernel-provided bitops, unaligned access helpers
2008-07-10 20:35:17 +08:00
cast5.c
[CRYPTO] all: Clean up init()/fini()
2008-04-21 10:19:34 +08:00
cast6.c
[CRYPTO] all: Clean up init()/fini()
2008-04-21 10:19:34 +08:00
cbc.c
ccm.c
chainiv.c
crypto: chainiv - Invoke completion function
2008-07-10 20:34:38 +08:00
cipher.c
compress.c
crc32c.c
crypto: crc32c - Add ahash implementation
2008-07-10 20:35:18 +08:00
cryptd.c
crypto: hash - Move ahash functions into crypto/hash.h
2008-07-10 20:35:18 +08:00
crypto_null.c
[CRYPTO] all: Clean up init()/fini()
2008-04-21 10:19:34 +08:00
cryptomgr.c
ctr.c
cts.c
[CRYPTO] cts: Init SG tables
2008-06-02 15:46:51 +10:00
deflate.c
[CRYPTO] all: Clean up init()/fini()
2008-04-21 10:19:34 +08:00
des_generic.c
[CRYPTO] all: Clean up init()/fini()
2008-04-21 10:19:34 +08:00
digest.c
crypto: hash - Fix digest size check for digest type
2008-08-13 20:08:38 +10:00
ecb.c
eseqiv.c
[CRYPTO] eseqiv: Fix off-by-one encryption
2008-05-01 18:22:28 +08:00
fcrypt.c
[CRYPTO] all: Clean up init()/fini()
2008-04-21 10:19:34 +08:00
gcm.c
gf128mul.c
hash.c
crypto: hash - Move ahash functions into crypto/hash.h
2008-07-10 20:35:18 +08:00
hmac.c
crypto: hash - Fixed digest size check
2008-07-10 20:35:17 +08:00
internal.h
[CRYPTO] hash: Add asynchronous hash support
2008-07-10 20:35:13 +08:00
Kconfig
Revert crypto: prng - Deterministic CPRNG
2008-07-15 23:46:24 +08:00
khazad.c
[CRYPTO] all: Clean up init()/fini()
2008-04-21 10:19:34 +08:00
lrw.c
[CRYPTO] lrw: Replace all adds to big endians variables with be*_add_cpu
2008-04-21 10:19:22 +08:00
lzo.c
[CRYPTO] all: Clean up init()/fini()
2008-04-21 10:19:34 +08:00
Makefile
Revert crypto: prng - Deterministic CPRNG
2008-07-15 23:46:24 +08:00
md4.c
[CRYPTO] all: Clean up init()/fini()
2008-04-21 10:19:34 +08:00
md5.c
[CRYPTO] all: Clean up init()/fini()
2008-04-21 10:19:34 +08:00
michael_mic.c
pcbc.c
proc.c
[CRYPTO] api: Constify function pointer tables
2008-04-21 10:19:22 +08:00
ripemd.h
[CRYPTO] ripemd: Put all common RIPEMD values in header file
2008-07-10 20:35:12 +08:00
rmd128.c
crypto: rmd128 - sparse annotations
2008-07-10 20:35:17 +08:00
rmd160.c
crypto: rmd - sparse annotations
2008-07-10 20:35:17 +08:00
rmd256.c
crypto: rmd - sparse annotations
2008-07-10 20:35:17 +08:00
rmd320.c
crypto: rmd - sparse annotations
2008-07-10 20:35:17 +08:00
salsa20_generic.c
[CRYPTO] all: Clean up init()/fini()
2008-04-21 10:19:34 +08:00
scatterwalk.c
seed.c
seqiv.c
serpent.c
[CRYPTO] all: Clean up init()/fini()
2008-04-21 10:19:34 +08:00
sha1_generic.c
[CRYPTO] all: Clean up init()/fini()
2008-04-21 10:19:34 +08:00
sha256_generic.c
[CRYPTO] all: Clean up init()/fini()
2008-04-21 10:19:34 +08:00
sha512_generic.c
[CRYPTO] all: Clean up init()/fini()
2008-04-21 10:19:34 +08:00
tcrypt.c
crypto: tcrypt - Fix AEAD chunk testing
2008-08-13 20:08:36 +10:00
tcrypt.h
[CRYPTO] tcrypt: Add self test for des3_ebe cipher operating in cbc mode
2008-07-10 20:35:16 +08:00
tea.c
[CRYPTO] all: Clean up init()/fini()
2008-04-21 10:19:34 +08:00
tgr192.c
[CRYPTO] all: Clean up init()/fini()
2008-04-21 10:19:34 +08:00
twofish.c
[CRYPTO] all: Clean up init()/fini()
2008-04-21 10:19:34 +08:00
twofish_common.c
wp512.c
[CRYPTO] all: Clean up init()/fini()
2008-04-21 10:19:34 +08:00
xcbc.c
[CRYPTO] xcbc: Fix crash when ipsec uses xcbc-mac with big data chunk
2008-04-02 14:36:09 +08:00
xor.c
xts.c
[CRYPTO] xts: Use proper alignment
2008-03-06 18:56:19 +08:00