linux/crypto
Joy Latten 1edcf2e1ee [CRYPTO] xcbc: Fix crash when ipsec uses xcbc-mac with big data chunk
The kernel crashes when ipsec passes a udp packet of about 14XX bytes
of data to aes-xcbc-mac.

It seems the first xxxx bytes of the data are in first sg entry,
and remaining xx bytes are in next sg entry. But we don't 
check next sg entry to see if we need to go look the page up.

I noticed in hmac.c, we do a scatterwalk_sg_next(), to do this check
and possible lookup, thus xcbc.c needs to use this routine too.

A 15-hour run of an ipsec stress test sending streams of tcp and
udp packets of various sizes,  using this patch and 
aes-xcbc-mac completed successfully, so hopefully this fixes the
problem.
 
Signed-off-by: Joy Latten <latten@austin.ibm.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2008-04-02 14:36:09 +08:00
..
async_tx async_tx: avoid the async xor_zero_sum path when src_cnt > device->max_xor 2008-03-18 17:01:00 -07:00
ablkcipher.c [CRYPTO] skcipher: Move chainiv/seqiv into crypto_blkcipher module 2008-02-23 11:12:06 +08:00
aead.c [CRYPTO] api: Show async type 2008-01-11 08:16:56 +11:00
aes_generic.c
algapi.c
anubis.c
api.c
arc4.c
authenc.c [CRYPTO] authenc: Add givencrypt operation 2008-01-11 08:16:50 +11:00
blkcipher.c [CRYPTO] skcipher: Move chainiv/seqiv into crypto_blkcipher module 2008-02-23 11:12:06 +08:00
blowfish.c
camellia.c
cast5.c
cast6.c [CRYPTO] cast6: inline bloat-- 2008-01-11 08:17:02 +11:00
cbc.c Convert ERR_PTR(PTR_ERR(p)) instances to ERR_CAST(p) 2008-02-07 08:42:26 -08:00
ccm.c [CRYPTO] ccm: Added CCM mode 2008-01-11 08:16:53 +11:00
chainiv.c [CRYPTO] skcipher: Fix section mismatches 2008-03-08 20:29:43 +08:00
cipher.c
compress.c
crc32c.c
cryptd.c Convert ERR_PTR(PTR_ERR(p)) instances to ERR_CAST(p) 2008-02-07 08:42:26 -08:00
crypto_null.c [CRYPTO] null: Allow setkey on digest_null 2008-01-11 08:16:54 +11:00
cryptomgr.c
ctr.c
deflate.c
des_generic.c
digest.c [CRYPTO] digest: Include internal.h for prototypes 2008-03-05 19:05:54 +08:00
ecb.c Convert ERR_PTR(PTR_ERR(p)) instances to ERR_CAST(p) 2008-02-07 08:42:26 -08:00
eseqiv.c [CRYPTO] skcipher: Fix section mismatches 2008-03-08 20:29:43 +08:00
fcrypt.c
gcm.c [CRYPTO] gcm: Introduce rfc4106 2008-01-11 08:16:56 +11:00
gf128mul.c
hash.c
hmac.c Convert ERR_PTR(PTR_ERR(p)) instances to ERR_CAST(p) 2008-02-07 08:42:26 -08:00
internal.h
Kconfig [CRYPTO] authenc: Add missing Kconfig dependency on BLKCIPHER 2008-02-23 11:13:00 +08:00
khazad.c
lrw.c Convert ERR_PTR(PTR_ERR(p)) instances to ERR_CAST(p) 2008-02-07 08:42:26 -08:00
lzo.c
Makefile [CRYPTO] skcipher: Move chainiv/seqiv into crypto_blkcipher module 2008-02-23 11:12:06 +08:00
md4.c
md5.c
michael_mic.c
pcbc.c Convert ERR_PTR(PTR_ERR(p)) instances to ERR_CAST(p) 2008-02-07 08:42:26 -08:00
proc.c
salsa20_generic.c
scatterwalk.c [CRYPTO] scatterwalk: Handle zero nbytes in scatterwalk_map_and_copy 2008-01-11 08:16:54 +11:00
seed.c
seqiv.c [CRYPTO] seqiv: Add AEAD support 2008-01-11 08:16:52 +11:00
serpent.c
sha1_generic.c
sha256_generic.c
sha512.c
tcrypt.c [CRYPTO] tcrypt: Make xcbc available as a standalone test 2008-01-11 08:17:01 +11:00
tcrypt.h [CRYPTO] tcrypt: Add CCM vectors 2008-01-11 08:16:53 +11:00
tea.c
tgr192.c
twofish_common.c
twofish.c
wp512.c
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