linux/drivers/scsi/mpt3sas
Suganath Prabu S f56577e8c7 scsi: mpt3sas: Fix reply queue count in non RDPQ mode
For non RDPQ mode, the driver allocates a single contiguous block of memory
pool for all reply descriptor post queues and passes down a single address
in the ReplyDescriptorPostQueueAddress field of the IOC Init Request
Message to the firmware. So reply_post queue will have only one entry which
holds the address of this single contiguous block of memory pool.

While allocating the reply descriptor post queue pool, driver should loop
only once in non-RDPQ mode. But the driver is looping for
ioc->reply_queue_count number of times even though reply_post queue's queue
depth is only one in non-RDPQ mode. This leads to 'BUG: KASAN:
use-after-free in base_alloc_rdpq_dma_pool'.

The fix is to loop only once while allocating memory for the reply
descriptor post queue in non-RDPQ mode

Fixes: 8012209eb2 ("scsi: mpt3sas: Handle RDPQ DMA allocation in same 4G region")
Link: https://lore.kernel.org/r/20200522103558.5710-1-suganath-prabu.subramani@broadcom.com
Reported-by: Tomas Henzl <thenzl@redhat.com>
Reviewed-by: Tomas Henzl <thenzl@redhat.com>
Signed-off-by: Suganath Prabu S <suganath-prabu.subramani@broadcom.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2020-05-26 19:57:59 -04:00
..
mpi scsi: mpt3sas: Update MPI Headers to v02.00.57 2020-01-02 22:23:16 -05:00
Kconfig scsi: mpt3sas: Irq poll to avoid CPU hard lockups 2019-03-18 17:16:43 -04:00
Makefile scsi: mpt3sas: Capture IOC data for debugging purposes 2020-05-07 22:24:27 -04:00
mpt3sas_base.c scsi: mpt3sas: Fix reply queue count in non RDPQ mode 2020-05-26 19:57:59 -04:00
mpt3sas_base.h scsi: mpt3sas: Capture IOC data for debugging purposes 2020-05-07 22:24:27 -04:00
mpt3sas_config.c scsi: mpt3sas: Print function name in which cmd timed out 2020-01-02 22:23:17 -05:00
mpt3sas_ctl.c scsi: mpt3sas: Print function name in which cmd timed out 2020-01-02 22:23:17 -05:00
mpt3sas_ctl.h scsi: mpt3sas: Reuse diag buffer allocated at load time 2019-09-30 22:32:47 -04:00
mpt3sas_debug.h mpt2sas, mpt3sas: Remove SCSI_MPTXSAS_LOGGING entry from Kconfig 2015-11-11 18:31:14 -05:00
mpt3sas_debugfs.c scsi: mpt3sas: Remove unused including <linux/version.h> 2020-05-11 23:09:21 -04:00
mpt3sas_scsih.c scsi: mpt3sas: Disable DIF when prot_mask set to zero 2020-05-07 22:29:31 -04:00
mpt3sas_transport.c scsi: mpt3sas: Optimize mpt3sas driver logging 2020-01-02 22:23:17 -05:00
mpt3sas_trigger_diag.c scsi: mpt3sas: Display message before releasing diag buffer 2019-09-30 22:32:46 -04:00
mpt3sas_trigger_diag.h mpt2sas, mpt3sas: Update attribution language to Avago 2015-01-13 16:27:27 +01:00
mpt3sas_warpdrive.c scsi: mpt3sas: Convert uses of pr_<level> with MPT3SAS_FMT to ioc_<level> 2018-10-10 22:00:43 -04:00