Skip to content

Commit

Permalink
crypto: engine - check if BH is disabled during completion
Browse files Browse the repository at this point in the history
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: 735d37b ("crypto: engine - Introduce the block request crypto engine framework")
Signed-off-by: Corentin Labbe <[email protected]>
Signed-off-by: Herbert Xu <[email protected]>
  • Loading branch information
montjoie authored and herbertx committed Mar 2, 2022
1 parent 7f22421 commit 4058cf0
Showing 1 changed file with 1 addition and 0 deletions.
1 change: 1 addition & 0 deletions crypto/crypto_engine.c
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ static void crypto_finalize_request(struct crypto_engine *engine,
dev_err(engine->dev, "failed to unprepare request\n");
}
}
lockdep_assert_in_softirq();
req->complete(req, err);

kthread_queue_work(engine->kworker, &engine->pump_requests);
Expand Down

0 comments on commit 4058cf0

Please sign in to comment.