s390/crypto: fix possible sleep during spinlock aquired
authorHarald Freudenberger <freude@linux.ibm.com>
Mon, 27 May 2019 13:24:20 +0000 (15:24 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 9 Jun 2019 07:17:16 +0000 (09:17 +0200)
commitbadbe1abbd5985da9cfe1d5910f64c4965407d08
tree9ebf5950f8f113bd676450230962e3bfcf91e3bc
parent83c874cf6861b880dbb21f59fdb61394033950bd
s390/crypto: fix possible sleep during spinlock aquired

commit 1c2c7029c008922d4d48902cc386250502e73d51 upstream.

This patch fixes a complain about possible sleep during
spinlock aquired
"BUG: sleeping function called from invalid context at
include/crypto/algapi.h:426"
for the ctr(aes) and ctr(des) s390 specific ciphers.

Instead of using a spinlock this patch introduces a mutex
which is save to be held in sleeping context. Please note
a deadlock is not possible as mutex_trylock() is used.

Signed-off-by: Harald Freudenberger <freude@linux.ibm.com>
Reported-by: Julian Wiedmann <jwi@linux.ibm.com>
Cc: stable@vger.kernel.org
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/s390/crypto/aes_s390.c
arch/s390/crypto/des_s390.c