]> git.baikalelectronics.ru Git - kernel.git/commit
[CRYPTO] xcbc: Fix crash when ipsec uses xcbc-mac with big data chunk
authorJoy Latten <latten@austin.ibm.com>
Wed, 2 Apr 2008 06:36:09 +0000 (14:36 +0800)
committerHerbert Xu <herbert@gondor.apana.org.au>
Wed, 2 Apr 2008 06:36:09 +0000 (14:36 +0800)
commit95583df22e7d0a1ecf9b80152f088fb491712992
treeaaa1f44829044d590d13e1bdf1c3165ed1dbd801
parent2583d0c70f079a55086ef3ca11ca6a48be547231
[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>
crypto/xcbc.c