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