linux/drivers/crypto/virtio
Pat Somaru 2127a1bf89 crypto: virtio - Convert from tasklet to BH workqueue
The only generic interface to execute asynchronously in the BH context
is tasklet; however, it's marked deprecated and has some design flaws
such as the execution code accessing the tasklet item after the
execution is complete which can lead to subtle use-after-free in certain
usage scenarios and less-developed flush and cancel mechanisms.

To replace tasklets, BH workqueue support was recently added. A BH
workqueue behaves similarly to regular workqueues except that the queued
work items are executed in the BH context.

Convert virtio_crypto_core.c from tasklet to BH workqueue.

Semantically, this is an equivalent conversion and there shouldn't be
any user-visible behavior changes. The BH workqueue implementation uses
the same softirq infrastructure, and performance-critical networking
conversions have shown no measurable performance impact.

Signed-off-by: Pat Somaru <patso@likewhatevs.io>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2026-02-28 12:54:14 +09:00
..
Kconfig virtio-crypto: implement RSA algorithm 2022-03-28 16:52:58 -04:00
Makefile virtio-crypto: rename skcipher algs 2022-03-28 16:52:58 -04:00
virtio_crypto_akcipher_algs.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
virtio_crypto_common.h crypto: virtio - Convert from tasklet to BH workqueue 2026-02-28 12:54:14 +09:00
virtio_crypto_core.c crypto: virtio - Convert from tasklet to BH workqueue 2026-02-28 12:54:14 +09:00
virtio_crypto_mgr.c crypto: virtio - Remove unused virtcrypto functions 2025-06-23 17:00:27 +08:00
virtio_crypto_skcipher_algs.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00