libfc: unlocking wrong lock in fc_eh_abort()
Subsystems (3)
PATCH 1/1 libfc: unlocking wrong lock in fc_eh_abort()
In commit 8b7ac2bb07bb "[SCSI] libfc: possible race could panic system due to NULL fsp->cmd" we changed the lock which was used in this function, but this path was missed.
Signed-off-by Dan Carpenter <[email protected]>
---
This is a static checker fix. Compile tested only.
drivers/scsi/libfc/fc_fcp.c +1 -1
@@ -2004,7 +2004,7 @@ int fc_eh_abort(struct scsi_cmnd *sc_cmd) fsp =CMD_SP (sc_cmd);if (!fsp) {/* command completed while scsi eh was setting up */ -spin_unlock_irqrestore (lport->host->host_lock, flags); +spin_unlock_irqrestore (&si->scsi_queue_lock, flags);return SUCCESS ; }/* grab a ref so the fsp and sc_cmd cannot be relased from under us */
Quoted 5 lines · Dan Carpenter
In commit
8b7ac2bb07bb"[SCSI] libfc: possible race could panic system due to NULLfsp->cmd" we changed the lock which was used in this function, but this path was missed.Signed-off-by Dan Carpenter <[email protected]>
Hi Dan,
I found this bug too and have a patch in my tree.
Thanks, //Rob