scsi: megaraid_sas: Fix for a potential deadlock
BugLink: https://bugs.launchpad.net/bugs/2103869 [ Upstream commit 50740f4dc78b41dec7c8e39772619d5ba841ddd7 ] This fixes a 'possible circular locking dependency detected' warning CPU0 CPU1 ---- ---- lock(&instance->reset_mutex); lock(&shost->scan_mutex); lock(&instance->reset_mutex); lock(&shost->scan_mutex); Fix this by temporarily releasing the reset_mutex. Signed-off-by: Tomas Henzl <thenzl@redhat.com> Link: https://lore.kernel.org/r/20240923174833.45345-1-thenzl@redhat.com Acked-by: Chandrakanth Patil <chandrakanth.patil@broadcom.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> Signed-off-by: Sasha Levin <sashal@kernel.org> CVE-2024-57807 Signed-off-by: Manuel Diewald <manuel.diewald@canonical.com> Signed-off-by: Mehmet Basaran <mehmet.basaran@canonical.com>
This commit is contained in:
committed by
Mehmet Basaran
parent
d8a9fd1eaf
commit
782d207927
@@ -8904,8 +8904,11 @@ megasas_aen_polling(struct work_struct *work)
|
||||
(ld_target_id / MEGASAS_MAX_DEV_PER_CHANNEL),
|
||||
(ld_target_id % MEGASAS_MAX_DEV_PER_CHANNEL),
|
||||
0);
|
||||
if (sdev1)
|
||||
if (sdev1) {
|
||||
mutex_unlock(&instance->reset_mutex);
|
||||
megasas_remove_scsi_device(sdev1);
|
||||
mutex_lock(&instance->reset_mutex);
|
||||
}
|
||||
|
||||
event_type = SCAN_VD_CHANNEL;
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user