Thread (30 messages) 30 messages, 11 authors, 2022-10-18

Re: [PATCH v4 05/16] iommu: Move bus setup to IOMMU device registration

From: Baolu Lu <baolu.lu@linux.intel.com>
Date: 2022-10-13 01:10:39
Also in: linux-iommu, lkml

Hi Alex,

On 2022/10/13 0:28, Alex Williamson wrote:
On Mon, 15 Aug 2022 17:20:06 +0100
Robin Murphy[off-list ref]  wrote:
quoted
Move the bus setup to iommu_device_register(). This should allow
bus_iommu_probe() to be correctly replayed for multiple IOMMU instances,
and leaves bus_set_iommu() as a glorified no-op to be cleaned up next.

At this point we can also handle cleanup better than just rolling back
the most-recently-touched bus upon failure - which may release devices
owned by other already-registered instances, and still leave devices on
other buses with dangling pointers to the failed instance. Now it's easy
to clean up the exact footprint of a given instance, no more, no less.

Tested-by: Marek Szyprowski<m.szyprowski@samsung.com>
Reviewed-By: Krishna Reddy<vdumpa@nvidia.com>
Reviewed-by: Kevin Tian<kevin.tian@intel.com>
Tested-by: Matthew Rosato<mjrosato@linux.ibm.com>  # s390
Tested-by: Niklas Schnelle<schnelle@linux.ibm.com>  # s390
Signed-off-by: Robin Murphy<robin.murphy@arm.com>
---

v4: Factor out the ops check in iommu_device_register() to keep the loop
even simpler, and comment the nominal change in behaviour

  drivers/iommu/iommu.c | 55 +++++++++++++++++++++++--------------------
  1 file changed, 30 insertions(+), 25 deletions(-)
This introduces the below lockdep spat regression, bisected to commit:

57365a04c921 ("iommu: Move bus setup to IOMMU device registration")

This can be reproduced with simple vfio-pci device assignment to a VM
on x86_64 with VT-d.  Thanks,
Thank you for reporting this. I have proposed below fix:

https://lore.kernel.org/all/20220927053109.4053662-1-baolu.lu@linux.intel.com/ (local)

Does it work for you?

Best regards,
baolu

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help