summaryrefslogtreecommitdiff
path: root/drivers/scsi/scsi_lib.c
diff options
context:
space:
mode:
authorMike McGowen <mike.mcgowen@microchip.com>2025-11-06 10:38:20 -0600
committerMartin K. Petersen <martin.petersen@oracle.com>2025-11-08 13:08:31 -0500
commitb518e86d1a70a88f6592a7c396cf1b93493d1aab (patch)
tree162c810f57839409bd51d38807170249bd56e747 /drivers/scsi/scsi_lib.c
parentf3ecbba1aa715fd22234df3d2f3a0ecf7c458e36 (diff)
scsi: smartpqi: Fix device resources accessed after device removal
Correct possible race conditions during device removal. Previously, a scheduled work item to reset a LUN could still execute after the device was removed, leading to use-after-free and other resource access issues. This race condition occurs because the abort handler may schedule a LUN reset concurrently with device removal via sdev_destroy(), leading to use-after-free and improper access to freed resources. - Check in the device reset handler if the device is still present in the controller's SCSI device list before running; if not, the reset is skipped. - Cancel any pending TMF work that has not started in sdev_destroy(). - Ensure device freeing in sdev_destroy() is done while holding the LUN reset mutex to avoid races with ongoing resets. Fixes: 2d80f4054f7f ("scsi: smartpqi: Update deleting a LUN via sysfs") Reviewed-by: Scott Teel <scott.teel@microchip.com> Reviewed-by: Scott Benesh <scott.benesh@microchip.com> Signed-off-by: Mike McGowen <mike.mcgowen@microchip.com> Signed-off-by: Don Brace <don.brace@microchip.com> Link: https://patch.msgid.link/20251106163823.786828-3-don.brace@microchip.com Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/scsi/scsi_lib.c')
0 files changed, 0 insertions, 0 deletions