]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
scsi: smartpqi: Fix ISR accessing uninitialized data
authorMike McGowen <mike.mcgowen@microchip.com>
Wed, 14 Jul 2021 18:28:46 +0000 (13:28 -0500)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 20 Jul 2021 02:00:57 +0000 (22:00 -0400)
Correct driver's ISR accessing a data structure member that has not been
fully initialized during driver initialization.

The pqi queue groups can have uninitialized members when an interrupt
fires. This has not resulted in any driver crashes. This was found during
our own internal testing. No bugs were ever filed.

Link: https://lore.kernel.org/r/20210714182847.50360-9-don.brace@microchip.com
Reviewed-by: Kevin Barnett <kevin.barnett@microchip.com>
Reviewed-by: Scott Benesh <scott.benesh@microchip.com>
Reviewed-by: Scott Teel <scott.teel@microchip.com>
Signed-off-by: Mike McGowen <mike.mcgowen@microchip.com>
Signed-off-by: Don Brace <don.brace@microchip.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/smartpqi/smartpqi_init.c

index f0e84354f7825ac84b1dfe24fa491f5aa3d28db6..ab1c9c483478602cffbc9ba0a2553ba9d850bb9e 100644 (file)
@@ -7760,11 +7760,11 @@ static int pqi_ctrl_init(struct pqi_ctrl_info *ctrl_info)
 
        pqi_init_operational_queues(ctrl_info);
 
-       rc = pqi_request_irqs(ctrl_info);
+       rc = pqi_create_queues(ctrl_info);
        if (rc)
                return rc;
 
-       rc = pqi_create_queues(ctrl_info);
+       rc = pqi_request_irqs(ctrl_info);
        if (rc)
                return rc;