scsi: qla2xxx: fix a potential NULL pointer dereference
authorAllen Pais <allen.pais@oracle.com>
Wed, 18 Sep 2019 16:36:58 +0000 (22:06 +0530)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 10 Oct 2019 03:29:13 +0000 (23:29 -0400)
alloc_workqueue is not checked for errors and as a result a potential
NULL dereference could occur.

Link: https://lore.kernel.org/r/1568824618-4366-1-git-send-email-allen.pais@oracle.com
Signed-off-by: Allen Pais <allen.pais@oracle.com>
Reviewed-by: Martin Wilck <mwilck@suse.com>
Acked-by: Himanshu Madhani <hmadhani@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/qla2xxx/qla_os.c

index ee47de9fbc05700c3c6f27b806074a67683058e4..e4d765fc03eaf245b27e98673ed3791fb3c991fc 100644 (file)
@@ -3224,6 +3224,10 @@ qla2x00_probe_one(struct pci_dev *pdev, const struct pci_device_id *id)
            req->req_q_in, req->req_q_out, rsp->rsp_q_in, rsp->rsp_q_out);
 
        ha->wq = alloc_workqueue("qla2xxx_wq", 0, 0);
+       if (unlikely(!ha->wq)) {
+               ret = -ENOMEM;
+               goto probe_failed;
+       }
 
        if (ha->isp_ops->initialize_adapter(base_vha)) {
                ql_log(ql_log_fatal, base_vha, 0x00d6,