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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 20 Feb 2014 19:07:58 +0000 (11:07 -0800)
commitaa1eef2bdc5187968849e5c78d8d07e567d4889a
tree248b836a1e0c55d83c4d6ff4a8cd1b42b4c694a6
parent52a0aaf1aac536c646da7d9b4418eb6578e34769
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: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/s390/crypto/aes_s390.c