> From: Robin Murphy <robin.murphy@xxxxxxx> > Sent: Wednesday, July 6, 2022 1:08 AM > > Currently we rely on registering all our instances before initially > allowing any .probe_device calls via bus_set_iommu(). In preparation for > phasing out the latter, make sure we won't inadvertently return success > for a device associated with a known but not yet registered instance, > otherwise we'll run straight into iommu_group_get_for_dev() trying to > use NULL ops. > > That also highlights an issue with intel_iommu_get_resv_regions() taking > dmar_global_lock from within a section where intel_iommu_init() already > holds it, which already exists via probe_acpi_namespace_devices() when > an ANDD device is probed, but gets more obvious with the upcoming change > to iommu_device_register(). Since they are both read locks it manages > not to deadlock in practice, so I'm leaving it here for someone with > more confidence to tackle a larger rework of the locking. > > Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx> Reviewed-by: Kevin Tian <kevin.tian@xxxxxxxxx>