crypto: cryptd - Use nested-BH locking for cryptd_cpu_queue
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>
Tue, 1 Jul 2025 06:09:36 +0000 (08:09 +0200)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 18 Jul 2025 10:51:59 +0000 (20:51 +1000)
commit590f8a67ba3cafba48e62d20ee03ab7d9a2c51f9
treee5259280e8ec974c420927109c63d38c3fdd1af0
parentd956692c7dd523b331d4556ee03def8dd02609dc
crypto: cryptd - Use nested-BH locking for cryptd_cpu_queue

cryptd_queue::cryptd_cpu_queue is a per-CPU variable and relies on
disabled BH for its locking. Without per-CPU locking in
local_bh_disable() on PREEMPT_RT this data structure requires explicit
locking.

Add a local_lock_t to the struct cryptd_cpu_queue and use
local_lock_nested_bh() for locking. This change adds only lockdep
coverage and does not alter the functional behaviour for !PREEMPT_RT.

Cc: "David S. Miller" <davem@davemloft.net>
Cc: Herbert Xu <herbert@gondor.apana.org.au>
Cc: linux-crypto@vger.kernel.org
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
crypto/cryptd.c