Re: [PATCH] crypto: hisilicon/qm - fix deadlock for remove driver

From: Herbert Xu
Date: Fri Dec 17 2021 - 03:39:59 EST


On Sat, Dec 11, 2021 at 04:56:55PM +0800, Yang Shen wrote:
> When remove the driver and executing the task occur at the same time,
> the following deadlock will be triggered:
>
> Chain exists of:
> sva_lock --> uacce_mutex --> &qm->qps_lock
> Possible unsafe locking scenario:
> CPU0 CPU1
> ---- ----
> lock(&qm->qps_lock);
> lock(uacce_mutex);
> lock(&qm->qps_lock);
> lock(sva_lock);
>
> And the lock 'qps_lock' is used to protect qp. Therefore, it's reasonable
> cycle is to continue until the qp memory is released. So move the release
> lock infront of 'uacce_remove'.
>
> Signed-off-by: Yang Shen <shenyang39@xxxxxxxxxx>
> ---
> drivers/crypto/hisilicon/qm.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)

Patch applied. Thanks.
--
Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt