]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
crypto: virtio - Convert from tasklet to BH workqueue
authorPat Somaru <patso@likewhatevs.io>
Sat, 7 Feb 2026 18:20:01 +0000 (13:20 -0500)
committerHerbert Xu <herbert@gondor.apana.org.au>
Sat, 28 Feb 2026 03:54:14 +0000 (12:54 +0900)
commit2127a1bf8940ea76b4fc604fa6b5e4d734ca22ed
treeda0ec0cc021b989bde635413d619b11d721c76b0
parent404ba6b46b6e234384b962210a98931f7423f139
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>
drivers/crypto/virtio/virtio_crypto_common.h
drivers/crypto/virtio/virtio_crypto_core.c