Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

crypto: engine - check if BH is disabled during completion

When doing iperf over ipsec with crypto hardware sun8i-ce, I hit some
spinlock recursion bug.

This is due to completion function called with enabled BH.

Add check a to detect this.

Fixes: 735d37b5424b ("crypto: engine - Introduce the block request crypto engine framework")
Signed-off-by: Corentin Labbe <clabbe@baylibre.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

authored by

Corentin Labbe and committed by
Herbert Xu
4058cf08 7f224211

+1
+1
crypto/crypto_engine.c
··· 53 53 dev_err(engine->dev, "failed to unprepare request\n"); 54 54 } 55 55 } 56 + lockdep_assert_in_softirq(); 56 57 req->complete(req, err); 57 58 58 59 kthread_queue_work(engine->kworker, &engine->pump_requests);