Messages in this thread | | | Subject | Re: [RFC PATCH] iommu/vt-d: Fix IOMMU field not populated on device hot re-plug | From | Lu Baolu <> | Date | Thu, 29 Aug 2019 09:43:31 +0800 |
| |
Hi Janusz,
On 8/28/19 10:17 PM, Janusz Krzysztofik wrote: >> We should avoid kernel panic when a intel_unmap() is called against >> a non-existent domain. > Does that mean you suggest to replace > BUG_ON(!domain); > with something like > if (WARN_ON(!domain)) > return; > and to not care of orphaned mappings left allocated? Is there a way to inform > users that their active DMA mappings are no longer valid and they shouldn't > call dma_unmap_*()? > >> But we shouldn't expect the IOMMU driver not >> cleaning up the domain info when a device remove notification comes and >> wait until all file descriptors being closed, right? > Shouldn't then the IOMMU driver take care of cleaning up resources still > allocated on device remove before it invalidates and forgets their pointers? >
You are right. We need to wait until all allocated resources (iova and mappings) to be released.
How about registering a callback for BUS_NOTIFY_UNBOUND_DRIVER, and removing the domain info when the driver detachment completes?
> Thanks, > Janusz
Best regards, Baolu
| |