On Tue, Jul 08, 2025 at 01:42:53PM +0800, Baolu Lu wrote:
+void iommu_sva_invalidate_kva_range(unsigned long start, unsigned long end) +{
- struct iommu_mm_data *iommu_mm;
- might_sleep();
Yi Lai yi1.lai@intel.com reported an issue here. This interface could potentially be called in a non-sleepable context.
Oh thats really bad, the notifiers inside the iommu driver are not required to be called in a sleepable context either and I don't really want to change that requirement.
Can you do something about how the notifier is called to not be inside an atomic context?
Maybe we can push the kernel page table pages onto a list and free them from a work queue kind of like what the normal mm does?
Back to the shadowing idea?
Jason