… > +++ b/drivers/vfio/vfio_iommu_type1.c … > @@ -2812,11 +2815,10 @@ static int vfio_iommu_type1_dma_rw_chunk … > if (!mm) > return -EPERM; > > - if (kthread) > + if (kthread && use_mm) Can another design approach make sense here? + bool thread_use_mm = ((current->flags & PF_KTHREAD) && !current->mm); + if (thread_use_mm) > kthread_use_mm(mm); … Regards, Markus