crypto: virtio - Handle dataq logic with tasklet
authorGonglei (Arei) <arei.gonglei@huawei.com>
Mon, 20 Nov 2023 11:49:45 +0000 (11:49 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 25 Jan 2024 23:35:15 +0000 (15:35 -0800)
commitc4c54fce9ec54a59a4ca035af13c2823c76684cc
tree4b9fc3b2780fb4e33c70328bd45fa117d4bc16da
parent6d9f17829eb607b3dcc2d8cf9cb4ae8586f174b5
crypto: virtio - Handle dataq logic with tasklet

[ Upstream commit fed93fb62e05c38152b0fc1dc9609639e63eed76 ]

Doing ipsec produces a spinlock recursion warning.
This is due to crypto_finalize_request() being called in the upper half.
Move virtual data queue processing of virtio-crypto driver to tasklet.

Fixes: dbaf0624ffa57 ("crypto: add virtio-crypto driver")
Reported-by: Halil Pasic <pasic@linux.ibm.com>
Signed-off-by: wangyangxin <wangyangxin1@huawei.com>
Signed-off-by: Gonglei <arei.gonglei@huawei.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/crypto/virtio/virtio_crypto_common.h
drivers/crypto/virtio/virtio_crypto_core.c