[BUG] scsi: lpfc: possible ABBA deadlock
From: Jia-Ju Bai
Date: Thu Jul 15 2021 - 06:38:02 EST
Hello,
I find there is a possible ABBA deadlock in the lpfc driver in Linux 5.10:
In lpfc_nvmet_unsol_fcp_issue_abort():
3502: spin_lock_irqsave(&ctxp->ctxlock, flags);
3504: spin_lock(&phba->sli4_hba.abts_nvmet_buf_list_lock);
In lpfc_sli4_nvmet_xri_aborted():
1787: spin_lock(&phba->sli4_hba.abts_nvmet_buf_list_lock);
1794: spin_lock(&ctxp->ctxlock);
When lpfc_nvmet_unsol_fcp_issue_abort() and
lpfc_sli4_nvmet_xri_aborted() are concurrently executed, the deadlock
can occur.
I am not quite sure whether this possible deadlock is real and how to
fix it if it is real.
Any feedback would be appreciated, thanks :)
Best wishes,
Jia-Ju Bai