linux/crypto
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
aead.c
aes_generic.c
ahash.c
algapi.c
anubis.c
api.c
arc4.c
authenc.c crypto: authenc - Avoid using clobbered request pointer 2008-08-23 01:04:06 +10:00
blkcipher.c
blowfish.c
camellia.c
cast5.c
cast6.c
cbc.c
ccm.c
chainiv.c
cipher.c
compress.c
crc32c.c
cryptd.c
crypto_null.c
cryptomgr.c
ctr.c
cts.c
deflate.c
des_generic.c
digest.c crypto: hash - Fix digest size check for digest type 2008-08-13 20:08:38 +10:00
ecb.c
eseqiv.c
fcrypt.c
gcm.c
gf128mul.c
hash.c
hmac.c
internal.h
Kconfig
khazad.c
lrw.c
lzo.c
Makefile
md4.c
md5.c
michael_mic.c
pcbc.c
proc.c
ripemd.h
rmd128.c
rmd160.c
rmd256.c
rmd320.c
salsa20_generic.c
scatterwalk.c
seed.c
seqiv.c
serpent.c
sha1_generic.c
sha256_generic.c
sha512_generic.c
tcrypt.c crypto: tcrypt - Fix AEAD chunk testing 2008-08-13 20:08:36 +10:00
tcrypt.h
tea.c
tgr192.c
twofish_common.c
twofish.c
wp512.c
xcbc.c
xor.c
xts.c