2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2025-01-16 17:43:56 +08:00
linux-next/drivers/scsi/qla2xxx
Quinn Tran b5f3bc39a0 scsi: qla2xxx: Fix inconsistent DMA mem alloc/free
GPNFT command allocates 2 buffer for switch query. On completion, the same
buffers were freed using different size, instead of using original size at
the time of allocation.

This patch saves the size of the request and response buffers and uses that
to free them.

Following stack trace can be seen when using debug kernel

dump_stack+0x19/0x1b
__warn+0xd8/0x100
warn_slowpath_fmt+0x5f/0x80
check_unmap+0xfb/0xa20
debug_dma_free_coherent+0x110/0x160
qla24xx_sp_unmap+0x131/0x1e0 [qla2xxx]
qla24xx_async_gnnft_done+0xb6/0x550 [qla2xxx]
qla2x00_do_work+0x1ec/0x9f0 [qla2xxx]

Cc: <stable@vger.kernel.org> # v4.17+
Fixes: 33b28357dd ("scsi: qla2xxx: Fix Async GPN_FT for FCP and FC-NVMe scan")
Reported-by: Ewan D. Milne <emilne@redhat.com>
Signed-off-by: Quinn Tran <quinn.tran@cavium.com>
Signed-off-by: Himanshu Madhani <himanshu.madhani@cavium.com>
Signed-off-by: Himanshu Madhani <hmadhani@redhat.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2018-07-10 22:25:02 -04:00
..
Kconfig scsi: qla2xxx: avoid unused-function warning 2017-07-01 17:14:58 -04:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
qla_attr.c scsi: qla2xxx: Use zeroing allocator rather than allocator/memset 2018-01-04 01:09:26 -05:00
qla_bsg.c scsi: qla2xxx: Use dma_pool_zalloc() 2018-02-22 20:28:43 -05:00
qla_bsg.h
qla_dbg.c Merge branch 'fixes' into misc 2018-04-03 17:38:39 -07:00
qla_dbg.h scsi: qla2xxx: Include Exchange offload/Extended Login into FW dump 2017-06-27 21:21:41 -04:00
qla_def.h scsi: qla2xxx: Fix inconsistent DMA mem alloc/free 2018-07-10 22:25:02 -04:00
qla_devtbl.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
qla_dfs.c scsi: qla2xxx: Add XCB counters to debugfs 2018-01-22 20:03:54 -05:00
qla_fw.h scsi: qla2xxx: Fix session cleanup for N2N 2018-01-03 23:41:06 -05:00
qla_gbl.h scsi: qla2xxx: Move GPSC and GFPNID out of session management 2018-05-08 00:46:11 -04:00
qla_gs.c scsi: qla2xxx: Fix inconsistent DMA mem alloc/free 2018-07-10 22:25:02 -04:00
qla_init.c SCSI fixes on 20180613 2018-06-14 16:35:32 +09:00
qla_inline.h scsi: qla2xxx: Fix race condition between iocb timeout and initialisation 2018-04-09 21:04:36 -04:00
qla_iocb.c scsi: qla2xxx: Fix race condition between iocb timeout and initialisation 2018-04-09 21:04:36 -04:00
qla_isr.c SCSI fixes on 20180613 2018-06-14 16:35:32 +09:00
qla_mbx.c scsi: qla2xxx: Fix crash on qla2x00_mailbox_command 2018-06-07 21:50:00 -04:00
qla_mid.c scsi: qla2xxx: Fix race condition between iocb timeout and initialisation 2018-04-09 21:04:36 -04:00
qla_mr.c scsi: qla2xxx: Fix race condition between iocb timeout and initialisation 2018-04-09 21:04:36 -04:00
qla_mr.h
qla_nvme.c scsi: qla2xxx: Cleanup code to improve FC-NVMe error handling 2018-03-21 18:38:54 -04:00
qla_nvme.h scsi: qla2xxx: Fix FC-NVMe IO abort during driver reset 2018-03-21 18:38:54 -04:00
qla_nx2.c scsi: qla2xxx: Fix function argument descriptions 2018-02-12 11:43:25 -05:00
qla_nx2.h scsi: qla2xxx: Remove unused symbols 2018-02-12 11:43:24 -05:00
qla_nx.c treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
qla_nx.h scsi: qla2xxx: remove writeq/readq function definitions 2017-06-12 20:48:08 -04:00
qla_os.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
qla_settings.h
qla_sup.c scsi: qla2xxx: Fix function argument descriptions 2018-02-12 11:43:25 -05:00
qla_target.c scsi: qla2xxx: Spinlock recursion in qla_target 2018-06-18 21:02:52 -04:00
qla_target.h scsi: qla2xxx: Fix TMF and Multi-Queue config 2018-05-08 00:46:12 -04:00
qla_tmpl.c scsi: qla2xxx: Fix Firmware dump size for Extended login and Exchange Offload 2018-01-03 23:41:05 -05:00
qla_tmpl.h
qla_version.h scsi: qla2xxx: Update driver version to 10.00.00.07-k 2018-05-08 00:46:12 -04:00
tcm_qla2xxx.c treewide: Use array_size() in vzalloc() 2018-06-12 16:19:22 -07:00
tcm_qla2xxx.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00