crypto: s390 - fix concurrency issue in aes-ctr mode
authorHarald Freudenberger <freude@linux.vnet.ibm.com>
Thu, 16 Jan 2014 15:01:11 +0000 (16:01 +0100)
committerBen Hutchings <ben@decadent.org.uk>
Tue, 1 Apr 2014 23:58:46 +0000 (00:58 +0100)
commitfc211c9a572bba86c7d37c390c6fb3a9ff052f33
treedf5029ad609ab3c3aa5e257cc2d7920078388cdb
parent501ec62ed39a7232827d0c698c375d5294bda1ba
crypto: s390 - fix concurrency issue in aes-ctr mode

commit 0519e9ad89e5cd6e6b08398f57c6a71d9580564c upstream.

The aes-ctr mode uses one preallocated page without any concurrency
protection. When multiple threads run aes-ctr encryption or decryption
this can lead to data corruption.

The patch introduces locking for the page and a fallback solution with
slower en/decryption performance in concurrency situations.

Signed-off-by: Harald Freudenberger <freude@linux.vnet.ibm.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
arch/s390/crypto/aes_s390.c