crypto: s390 - Fix aes-cbc IV corruption
authorHerbert Xu <herbert@gondor.apana.org.au>
Tue, 5 Nov 2013 11:36:27 +0000 (19:36 +0800)
committerBen Hutchings <ben@decadent.org.uk>
Fri, 3 Jan 2014 04:33:17 +0000 (04:33 +0000)
commit898c8e6f438614624032f9ae887cab87f7558e45
tree22152ca161fe671de3efed0d722581a5874b4552
parentda4eda14795e2e246fc340ba181a95b09ac5205c
crypto: s390 - Fix aes-cbc IV corruption

commit f262f0f5cad0c9eca61d1d383e3b67b57dcbe5ea upstream.

The cbc-aes-s390 algorithm incorrectly places the IV in the tfm
data structure.  As the tfm is shared between multiple threads,
this introduces a possibility of data corruption.

This patch fixes this by moving the parameter block containing
the IV and key onto the stack (the block is 48 bytes long).

The same bug exists elsewhere in the s390 crypto system and they
will be fixed in subsequent patches.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
[bwh: Backported to 3.2: adjust context]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
arch/s390/crypto/aes_s390.c