libsas: potential null dereference
Subsystems (2)
PATCH 1/1 libsas: potential null dereference
The "sc" variable can potentially be null here, so we have to initialize "q" later. This was introduced in: 70b25f890 "[SCSI] fix locking around blk_abort_request()"
Signed-off-by Dan Carpenter <[email protected]>
---
I appologize if I sent this already. I was having trouble with my email earlier today and I don't see this in my gmail outbox.
drivers/scsi/libsas/sas_scsi_host.c +2 -1
@@ -1030,7 +1030,7 @@ int __sas_task_abort(struct sas_task *task)void sas_task_abort (struct sas_task *task) {struct scsi_cmnd *sc = task->uldd_task; -struct request_queue *q = sc->device->request_queue; +struct request_queue *q;unsigned long flags;/* Escape for libsas internal commands */
@@ -1046,6 +1046,7 @@ void sas_task_abort(struct sas_task *task)return ; } + q = sc->device->request_queue;spin_lock_irqsave (q->queue_lock, flags);blk_abort_request (sc->request);spin_unlock_irqrestore (q->queue_lock, flags);