Gaurav Batra 9a74146540 powerpc/iommu: Incorrect DDW Table is referenced for SR-IOV device
commit 1f7aacc5eb9ed2cc17be7a90da5cd559effb9d59 upstream.

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: 381ceda88c4c ("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
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-05-24 17:32:52 +01:00
..
2021-12-09 22:41:21 +11:00
2022-05-28 11:27:17 -07:00
2022-05-05 22:12:44 +10:00
2022-05-08 22:15:40 +10:00
2022-05-05 22:12:44 +10:00
2022-09-26 23:00:13 +10:00
2022-05-28 11:27:17 -07:00
2022-02-07 21:03:10 +11:00
2022-01-14 15:17:26 +01:00
2022-02-07 21:03:10 +11:00
2022-02-07 21:03:10 +11:00
2022-10-10 12:49:34 -07:00
2022-09-26 23:00:14 +10:00
2020-12-04 01:01:09 +11:00
2023-03-17 08:50:30 +01:00
2022-05-08 22:15:40 +10:00
2022-09-26 22:47:37 +10:00
2022-09-26 23:00:14 +10:00
2021-12-09 22:41:21 +11:00
2022-09-26 23:00:13 +10:00
2022-05-08 22:15:40 +10:00
2022-09-26 23:00:13 +10:00
2022-05-08 22:15:40 +10:00
2022-05-08 22:15:40 +10:00
2022-05-08 22:15:40 +10:00
2022-09-26 20:58:18 +10:00
2022-05-05 22:12:44 +10:00
2022-05-08 22:15:40 +10:00
2022-05-08 22:15:40 +10:00
2022-09-26 23:00:13 +10:00
2022-09-26 22:47:37 +10:00
2022-09-28 19:22:09 +10:00
2022-09-26 23:00:13 +10:00
2021-12-09 22:41:21 +11:00