Commit 4058cf08 authored by Corentin Labbe's avatar Corentin Labbe Committed by Herbert Xu

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: 735d37b5 ("crypto: engine - Introduce the block request crypto engine framework")
Signed-off-by: default avatarCorentin Labbe <clabbe@baylibre.com>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent 7f224211
...@@ -53,6 +53,7 @@ static void crypto_finalize_request(struct crypto_engine *engine, ...@@ -53,6 +53,7 @@ static void crypto_finalize_request(struct crypto_engine *engine,
dev_err(engine->dev, "failed to unprepare request\n"); dev_err(engine->dev, "failed to unprepare request\n");
} }
} }
lockdep_assert_in_softirq();
req->complete(req, err); req->complete(req, err);
kthread_queue_work(engine->kworker, &engine->pump_requests); kthread_queue_work(engine->kworker, &engine->pump_requests);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment