linux-stable/drivers/scsi
Shuchang Li fd8c83d837 scsi: lpfc: Fix ioremap issues in lpfc_sli4_pci_mem_setup()
[ Upstream commit 91a0c0c141 ]

When if_type equals zero and pci_resource_start(pdev, PCI_64BIT_BAR4)
returns false, drbl_regs_memmap_p is not remapped. This passes a NULL
pointer to iounmap(), which can trigger a WARN() on certain arches.

When if_type equals six and pci_resource_start(pdev, PCI_64BIT_BAR4)
returns true, drbl_regs_memmap_p may has been remapped and
ctrl_regs_memmap_p is not remapped. This is a resource leak and passes a
NULL pointer to iounmap().

To fix these issues, we need to add null checks before iounmap(), and
change some goto labels.

Fixes: 1351e69fc6 ("scsi: lpfc: Add push-to-adapter support to sli4")
Signed-off-by: Shuchang Li <lishuchang@hust.edu.cn>
Link: https://lore.kernel.org/r/20230404072133.1022-1-lishuchang@hust.edu.cn
Reviewed-by: Justin Tee <justin.tee@broadcom.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-05-11 23:00:28 +09:00
..
aacraid
aic7xxx
aic94xx scsi: aic94xx: Add missing check for dma_map_single() 2023-03-10 09:39:28 +01:00
arcmsr
arm
be2iscsi scsi: iscsi: Fix session removal on shutdown 2022-08-17 14:23:45 +02:00
bfa scsi: bfa: Replace snprintf() with sysfs_emit() 2022-04-13 20:59:02 +02:00
bnx2fc
bnx2i scsi: iscsi: Fix session removal on shutdown 2022-08-17 14:23:45 +02:00
csiostor
cxgbi scsi: iscsi: Rename iscsi_conn_queue_work() 2022-10-26 12:35:15 +02:00
cxlflash
device_handler scsi: scsi_dh_alua: Fix memleak for 'qdata' in alua_activate() 2023-03-30 12:47:45 +02:00
dpt
elx scsi: elx: libefc: Fix second parameter type in state callbacks 2022-12-31 13:14:44 +01:00
esas2r
fcoe scsi: fcoe: Fix transport not deattached when fcoe_if_init() fails 2022-12-31 13:14:25 +01:00
fnic scsi: fnic: Fix a tracing statement 2022-04-08 14:23:33 +02:00
hisi_sas scsi: hisi_sas: Check devm_add_action() return value 2023-03-30 12:47:53 +02:00
ibmvscsi scsi: ibmvfc: Avoid path failures during live migration 2022-12-02 17:41:02 +01:00
ibmvscsi_tgt scsi: ibmvscsis: Increase INITIAL_SRP_LIMIT to 1024 2022-04-20 09:34:15 +02:00
isci
libfc scsi: libfc: Fix use after free in fc_exch_abts_resp() 2022-04-13 20:59:08 +02:00
libsas scsi: libsas: Fix use-after-free bug in smp_execute_task_sg() 2022-10-26 12:35:15 +02:00
lpfc scsi: lpfc: Fix ioremap issues in lpfc_sli4_pci_mem_setup() 2023-05-11 23:00:28 +09:00
megaraid scsi: megaraid_sas: Fix fw_crash_buffer_show() 2023-04-26 13:51:50 +02:00
mpi3mr scsi: mpi3mr: Refer CONFIG_SCSI_MPI3MR in Makefile 2023-01-18 11:48:53 +01:00
mpt3sas scsi: mpt3sas: Don't print sense pool info twice 2023-04-05 11:24:55 +02:00
mvsas scsi: mvsas: Add PCI ID of RocketRaid 2640 2022-04-20 09:34:17 +02:00
pcmcia
pm8001 scsi: pm80xx: Enable upper inbound, outbound queues 2022-04-20 09:34:11 +02:00
qedf scsi: qedf: Populate sysfs attributes for vport 2022-10-26 12:34:26 +02:00
qedi scsi: iscsi: Fix session removal on shutdown 2022-08-17 14:23:45 +02:00
qla2xxx scsi: qla2xxx: Fix memory leak in qla2x00_probe_one() 2023-04-13 16:48:23 +02:00
qla4xxx
smartpqi scsi: smartpqi: Fix DMA direction for RAID requests 2022-08-17 14:23:51 +02:00
snic scsi: snic: Fix memory leak with using debugfs_lookup() 2023-03-10 09:39:54 +01:00
sym53c8xx_2
ufs scsi: ufs: core: Add soft dependency on governor_simpleondemand 2023-03-30 12:47:53 +02:00
.gitignore
3w-9xxx.c scsi: 3w-9xxx: Avoid disabling device if failing to enable it 2022-10-26 12:35:46 +02:00
3w-9xxx.h
3w-sas.c
3w-sas.h
3w-xxxx.c
3w-xxxx.h
53c700.c
53c700.h
53c700.scr
53c700_d.h_shipped
a100u2w.c
a100u2w.h
a2091.c
a2091.h
a3000.c
a3000.h
a4000t.c
advansys.c
aha152x.c scsi: aha152x: Fix aha152x_setup() __setup handler return value 2022-04-13 20:59:07 +02:00
aha152x.h
aha1542.c
aha1542.h
aha1740.c
aha1740.h
am53c974.c
atari_scsi.c
atp870u.c
atp870u.h
BusLogic.c
BusLogic.h
bvme6000_scsi.c
ch.c
constants.c
dc395x.c scsi: dc395x: Fix a missing check on list iterator 2022-06-09 10:23:22 +02:00
dc395x.h
dmx3191d.c
dpt_i2o.c
dpti.h
esp_scsi.c
esp_scsi.h
fdomain.c
fdomain.h
fdomain_isa.c
fdomain_pci.c
FlashPoint.c
g_NCR5380.c
gvp11.c
gvp11.h
hosts.c scsi: core: Fix a procfs host directory removal regression 2023-03-22 13:31:23 +01:00
hpsa.c scsi: hpsa: Fix allocation size for scsi_host_alloc() 2023-02-01 08:27:22 +01:00
hpsa.h
hpsa_cmd.h
hptiop.c
hptiop.h
imm.c
imm.h
initio.c
initio.h
ipr.c scsi: ipr: Work around fortify-string warning 2023-03-11 13:57:31 +01:00
ipr.h
ips.c
ips.h
iscsi_boot_sysfs.c
iscsi_tcp.c scsi: iscsi_tcp: Check that sock is valid before iscsi_set_param() 2023-04-13 16:48:24 +02:00
iscsi_tcp.h scsi: iscsi: iscsi_tcp: Fix null-ptr-deref while calling getpeername() 2022-10-26 12:35:16 +02:00
jazz_esp.c
Kconfig
lasi700.c
libiscsi.c scsi: iscsi_tcp: Fix UAF during logout when accessing the shost ipaddress 2023-02-09 11:26:39 +01:00
libiscsi_tcp.c scsi: iscsi: Merge suspend fields 2022-04-27 14:38:56 +02:00
mac53c94.c
mac53c94.h
mac_esp.c
mac_scsi.c
Makefile
megaraid.c scsi: megaraid: Fix mega_cmd_done() CMDID_INT_CMDS 2023-05-11 23:00:26 +09:00
megaraid.h
mesh.c
mesh.h
mvme16x_scsi.c
mvme147.c
mvme147.h
mvumi.c
mvumi.h
myrb.c scsi: myrb: Fix up null pointer access on myrb_cleanup() 2022-06-14 18:36:22 +02:00
myrb.h
myrs.c
myrs.h
ncr53c8xx.c
ncr53c8xx.h
NCR5380.c
NCR5380.h
nsp32.c
nsp32.h
nsp32_debug.c
nsp32_io.h
pmcraid.c scsi: pmcraid: Fix missing resource cleanup in error case 2022-06-22 14:21:57 +02:00
pmcraid.h
ppa.c
ppa.h
ps3rom.c
qla1280.c
qla1280.h
qlogicfas.c
qlogicfas408.c
qlogicfas408.h
qlogicpti.c
qlogicpti.h
raid_class.c
script_asm.pl
scsi.c scsi: core: Improve scsi_vpd_inquiry() checks 2023-04-26 13:51:50 +02:00
scsi.h
scsi_bsg.c
scsi_common.c
scsi_debug.c scsi: scsi_debug: Fix possible name leak in sdebug_add_host_helper() 2022-12-31 13:14:25 +01:00
scsi_debugfs.c
scsi_debugfs.h
scsi_devinfo.c scsi: core: Add BLIST_SKIP_VPD_PAGES for SKhynix H28U74301AMR 2023-03-30 12:47:55 +02:00
scsi_dh.c
scsi_error.c scsi: core: Fix a race between scsi_done() and scsi_timeout() 2022-12-31 13:14:21 +01:00
scsi_ioctl.c scsi: core: Fix warning in scsi_alloc_sgtables() 2022-08-03 12:03:47 +02:00
scsi_lib.c
scsi_lib_dma.c
scsi_logging.c
scsi_logging.h
scsi_netlink.c
scsi_pm.c
scsi_priv.h
scsi_proc.c
scsi_sas_internal.h
scsi_scan.c scsi: Revert "scsi: core: map PQ=1, PDT=other values to SCSI_SCAN_TARGET_PRESENT" 2023-02-09 11:26:34 +01:00
scsi_sysctl.c
scsi_sysfs.c scsi: core: Restrict legal sdev_state transitions via sysfs 2022-11-10 18:15:34 +01:00
scsi_trace.c
scsi_transport_api.h
scsi_transport_fc.c scsi: scsi_transport_fc: Fix FPIN Link Integrity statistics counters 2022-04-08 14:22:54 +02:00
scsi_transport_iscsi.c scsi: iscsi: Fix multiple iSCSI session unbind events sent to userspace 2023-02-01 08:27:16 +01:00
scsi_transport_sas.c scsi: scsi_transport_sas: Fix error handling in sas_phy_add() 2022-11-26 09:24:35 +01:00
scsi_transport_spi.c
scsi_transport_srp.c
scsicam.c
sd.c scsi: sd: Revert "scsi: sd: Remove a local variable" 2022-11-03 23:59:20 +09:00
sd.h
sd_dif.c
sd_zbc.c
sense_codes.h
ses.c scsi: ses: Handle enclosure with just a primary component gracefully 2023-04-20 12:13:55 +02:00
sg.c scsi: sg: Allow waiting for commands to complete on removed device 2022-08-17 14:22:55 +02:00
sgiwd93.c
sim710.c
sni_53c710.c
sr.c scsi: sr: Fix typo in CDROM(CLOSETRAY|EJECT) handling 2022-04-13 20:59:15 +02:00
sr.h
sr_ioctl.c scsi: sr: Do not leak information in ioctl 2022-04-27 14:38:58 +02:00
sr_vendor.c
st.c block: drop unused includes in <linux/genhd.h> 2022-03-16 14:23:46 +01:00
st.h
st_options.h
stex.c scsi: stex: Properly zero out the passthrough command structure 2022-10-15 07:59:01 +02:00
storvsc_drv.c scsi: storvsc: Handle BlockSize change in Hyper-V VHD/VHDX file 2023-03-30 12:47:54 +02:00
sun3_scsi.c
sun3_scsi_vme.c
sun3x_esp.c
sun_esp.c
virtio_scsi.c
vmw_pvscsi.c
vmw_pvscsi.h scsi: vmw_pvscsi: Expand vcpuHint to 16 bits 2022-06-22 14:21:57 +02:00
wd33c93.c
wd33c93.h
wd719x.c
wd719x.h
xen-scsifront.c xen/scsifront: don't use gnttab_query_foreign_access() for mapped status 2022-03-11 12:22:36 +01:00
zalon.c
zorro7xx.c scsi: zorro7xx: Fix a resource leak in zorro7xx_remove_one() 2022-04-13 20:59:15 +02:00
zorro_esp.c