kernel_optimize_test/drivers/crypto
Leonard Crestez d80771c083 crypto: mxs-dcp - Fix wait logic on chan threads
When compiling with CONFIG_DEBUG_ATOMIC_SLEEP=y the mxs-dcp driver
prints warnings such as:

WARNING: CPU: 0 PID: 120 at kernel/sched/core.c:7736 __might_sleep+0x98/0x9c
do not call blocking ops when !TASK_RUNNING; state=1 set at [<8081978c>] dcp_chan_thread_sha+0x3c/0x2ec

The problem is that blocking ops will manipulate current->state
themselves so it is not allowed to call them between
set_current_state(TASK_INTERRUPTIBLE) and schedule().

Fix this by converting the per-chan mutex to a spinlock (it only
protects tiny list ops anyway) and rearranging the wait logic so that
callbacks are called current->state as TASK_RUNNING. Those callbacks
will indeed call blocking ops themselves so this is required.

Cc: <stable@vger.kernel.org>
Signed-off-by: Leonard Crestez <leonard.crestez@nxp.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2018-09-28 12:45:37 +08:00
..
amcc
axis
bcm
caam crypto: caam/jr - fix ablkcipher_edesc pointer arithmetic 2018-09-21 13:04:46 +08:00
cavium crypto: cavium/nitrox - fix for command corruption in queue full case with backlog submissions. 2018-08-25 19:50:44 +08:00
ccp crypto: ccp - add timeout support in the SEV command 2018-09-13 13:27:43 +08:00
ccree
chelsio crypto: chelsio - Fix memory corruption in DMA Mapped buffers. 2018-09-28 12:44:34 +08:00
hisilicon crypto: hisilicon - sec_send_request() can be static 2018-08-07 17:51:39 +08:00
inside-secure
marvell
mediatek
nx powerpc updates for 4.19 2018-08-17 11:32:50 -07:00
qat
qce Char/Misc driver patches for 4.19-rc1 2018-08-18 11:04:51 -07:00
rockchip
stm32 Char/Misc driver patches for 4.19-rc1 2018-08-18 11:04:51 -07:00
sunxi-ss
ux500 Char/Misc driver patches for 4.19-rc1 2018-08-18 11:04:51 -07:00
virtio Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2018-08-15 16:01:47 -07:00
vmx Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2018-08-29 13:38:39 -07:00
atmel-aes-regs.h
atmel-aes.c
atmel-authenc.h
atmel-ecc.c
atmel-ecc.h
atmel-sha-regs.h
atmel-sha.c
atmel-tdes-regs.h
atmel-tdes.c
exynos-rng.c
geode-aes.c
geode-aes.h
hifn_795x.c
img-hash.c
ixp4xx_crypto.c
Kconfig
Makefile
mxc-scc.c
mxs-dcp.c crypto: mxs-dcp - Fix wait logic on chan threads 2018-09-28 12:45:37 +08:00
n2_asm.S
n2_core.c
n2_core.h
omap-aes-gcm.c
omap-aes.c
omap-aes.h
omap-crypto.c
omap-crypto.h
omap-des.c
omap-sham.c
padlock-aes.c
padlock-sha.c
picoxcell_crypto_regs.h
picoxcell_crypto.c
qcom-rng.c
s5p-sss.c
sahara.c
talitos.c
talitos.h