OpenCloudOS-Kernel/arch/powerpc/platforms/pseries
Gaurav Batra 1f7aacc5eb powerpc/iommu: Incorrect DDW Table is referenced for SR-IOV device
For an SR-IOV device, while enabling DDW, a new table is created and
added at index 1 in the group. In the below 2 scenarios, the table is
incorrectly referenced at index 0 (which is where the table is for
default DMA window).

1. When adding DDW

   This issue is exposed with "slub_debug". Error thrown out from
   dma_iommu_dma_supported()

   Warning: IOMMU offset too big for device mask
   mask: 0xffffffff, table offset: 0x800000000000000

2. During Dynamic removal of the PCI device.

   Error is from iommu_tce_table_put() since a NULL table pointer is
   passed in.

Fixes: 381ceda88c ("powerpc/pseries/iommu: Make use of DDW for indirect mapping")
Cc: stable@vger.kernel.org # v5.15+
Signed-off-by: Gaurav Batra <gbatra@linux.vnet.ibm.com>
Reviewed-by: Brian King <brking@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://msgid.link/20230505184701.91613-1-gbatra@linux.vnet.ibm.com
2023-05-17 00:54:55 +10:00
..
Kconfig powerc/mm: try VMA lock-based page fault handling first 2023-04-05 20:03:02 -07:00
Makefile powerpc/pseries: PAPR system parameter API 2023-02-13 22:35:03 +11:00
cc_platform.c powerpc/pseries/svm: Add a powerpc version of cc_platform_has() 2021-10-04 11:46:33 +02:00
cmm.c mm: Convert all PageMovable users to movable_operations 2022-08-02 12:34:03 -04:00
dlpar.c driver core: class: mark the struct class for sysfs callbacks as constant 2023-03-29 07:54:58 +02:00
dtl.c powerpc/pseries: Fix CONFIG_DTL=n build 2022-10-13 22:30:07 +11:00
eeh_pseries.c powerpc/rtas: arch-wide function token lookup conversions 2023-02-13 22:35:03 +11:00
event_sources.c powerpc/pseries: Add __init attribute to eligible functions 2021-12-23 22:33:15 +11:00
firmware.c powerpc/pseries: Add FW_FEATURE_PLPKS feature flag 2023-04-20 13:21:46 +10:00
hotplug-cpu.c powerpc: Use of_property_present() for testing DT property presence 2023-03-30 23:36:35 +11:00
hotplug-memory.c powerpc: Use of_address_to_resource() 2023-04-04 22:11:03 +10:00
hvCall.S powerpc: add CFUNC assembly label annotation 2023-04-20 12:54:24 +10:00
hvCall_inst.c powerpc/pseries: Make symbol '__pcpu_scope_hcall_stats' static 2021-04-14 23:04:17 +10:00
hvconsole.c powerpc updates for 5.3 2019-07-13 16:08:36 -07:00
hvcserver.c powerpc: move from strlcpy with unused retval to strscpy 2022-08-26 11:02:20 +10:00
ibmebus.c driver core: bus: mark the struct bus_type for sysfs callbacks as constant 2023-03-23 13:20:40 +01:00
io_event_irq.c powerpc/rtas: arch-wide function token lookup conversions 2023-02-13 22:35:03 +11:00
iommu.c powerpc/iommu: Incorrect DDW Table is referenced for SR-IOV device 2023-05-17 00:54:55 +10:00
kexec.c powerpc: Don't include asm/setup.h in asm/machdep.h 2022-06-20 11:29:49 +10:00
lpar.c powerpc/pseries/lpar: convert to papr_sysparm API 2023-02-13 22:35:03 +11:00
lparcfg.c powerpc/pseries/lparcfg: convert to papr_sysparm API 2023-02-13 22:35:03 +11:00
mobility.c powerpc updates for 6.4 2023-04-28 16:24:32 -07:00
msi.c powerpc/rtas: arch-wide function token lookup conversions 2023-02-13 22:35:03 +11:00
nvram.c powerpc/rtas: arch-wide function token lookup conversions 2023-02-13 22:35:03 +11:00
of_helpers.c powerpc/pseries: Fix of_read_drc_info_cell() to point at next record 2020-03-25 12:06:43 +11:00
of_helpers.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
papr-sysparm.c powerpc/rtas: arch-wide function token lookup conversions 2023-02-13 22:35:03 +11:00
papr_platform_attributes.c powerpc: Include asm/firmware.h in all users of firmware_has_feature() 2022-06-29 16:45:05 +10:00
papr_scm.c powerpc/papr_scm: Update the NUMA distance table for the target node 2023-04-04 22:08:35 +10:00
pci.c PCI: Introduce pci_dev_for_each_resource() 2023-04-04 10:43:52 -05:00
pci_dlpar.c powerpc/pseries: Fix use after free in remove_phb_dynamic() 2022-03-21 13:17:47 +11:00
plpks-secvar.c powerpc/pseries: Fix endianness issue when parsing PLPKS secvar flags 2023-02-16 21:16:22 +11:00
plpks.c powerpc/pseries: Add FW_FEATURE_PLPKS feature flag 2023-04-20 13:21:46 +10:00
pmem.c powerpc: Remove asm/prom.h from all files that don't need it 2022-05-08 22:15:04 +10:00
power.c powerpc: declare unmodified attribute_group usages const 2022-03-08 22:15:32 +11:00
pseries.h powerpc/iommu: Add iommu_ops to report capabilities and allow blocking domains 2023-03-15 00:51:46 +11:00
pseries_energy.c powerpc/pseries: move to use bus_get_dev_root() 2023-03-17 15:29:38 +01:00
ras.c powerpc/rtas: arch-wide function token lookup conversions 2023-02-13 22:35:03 +11:00
reconfig.c powerpc/pseries: block untrusted device tree changes when locked down 2022-09-28 19:22:14 +10:00
rng.c powerpc/pseries: wire up rng during setup_arch() 2022-06-18 10:19:10 +10:00
rtas-fadump.c powerpc: Add missing headers 2022-05-08 22:15:40 +10:00
rtas-fadump.h powerpc/fadump: support holes in kernel boot memory area 2019-09-14 00:04:46 +10:00
rtas-work-area.c powerpc/rtas: arch-wide function token lookup conversions 2023-02-13 22:35:03 +11:00
setup.c powerpc: Make generic_calibrate_decr() the default 2023-03-16 08:56:48 +11:00
smp.c powerpc/rtas: arch-wide function token lookup conversions 2023-02-13 22:35:03 +11:00
suspend.c powerpc/pseries: move to use bus_get_dev_root() 2023-03-17 15:29:38 +01:00
svm.c swiotlb: add a SWIOTLB_ANY flag to lift the low memory restriction 2022-04-18 07:21:12 +02:00
vas-sysfs.c powerpc/pseries/vas: Call misc_deregister if sysfs init fails 2022-05-22 15:58:31 +10:00
vas.c powerpc/pseries/vas: Ignore VAS update for DLPAR if copy/paste is not enabled 2023-03-29 23:01:35 +11:00
vas.h powerpc/pseries: Use lparcfg to reconfig VAS windows for DLPAR CPU 2022-10-18 22:46:18 +11:00
vio.c powerpc updates for 6.4 2023-04-28 16:24:32 -07:00
vphn.c powerpc/vphn: Check for error from hcall_vphn 2020-03-04 22:44:30 +11:00