crypto: padlock - Fix AES-CBC handling on odd-block-sized input
authorHerbert Xu <herbert@gondor.apana.org.au>
Thu, 4 Nov 2010 18:38:39 +0000 (14:38 -0400)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 9 Dec 2010 21:33:31 +0000 (13:33 -0800)
commitb81d08ba841ec0f57bd8e965634dd3bdf54e56a1
tree259177ca3a15ef6d1d225b7394c52c42871e66ac
parent9398085155dfc475ba9a5e1c4da10ad3dd009380
crypto: padlock - Fix AES-CBC handling on odd-block-sized input

commit c054a076a1bd4731820a9c4d638b13d5c9bf5935 upstream.

On certain VIA chipsets AES-CBC requires the input/output to be
a multiple of 64 bytes.  We had a workaround for this but it was
buggy as it sent the whole input for processing when it is meant
to only send the initial number of blocks which makes the rest
a multiple of 64 bytes.

As expected this causes memory corruption whenever the workaround
kicks in.

Reported-by: Phil Sutter <phil@nwl.cc>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/crypto/padlock-aes.c