> From: Jason Gunthorpe <jgg@xxxxxxxxxx> > Sent: Friday, October 15, 2021 7:10 PM > > On Fri, Oct 15, 2021 at 01:29:16AM +0000, Tian, Kevin wrote: > > Hi, Jason, > > > > > From: Jason Gunthorpe <jgg@xxxxxxxxxx> > > > Sent: Wednesday, September 29, 2021 8:59 PM > > > > > > On Wed, Sep 29, 2021 at 12:38:35AM +0000, Tian, Kevin wrote: > > > > > > > /* If set the driver must call iommu_XX as the first action in probe() or > > > > * before it attempts to do DMA > > > > */ > > > > bool suppress_dma_owner:1; > > > > > > It is not "attempts to do DMA" but more "operates the physical device > > > in any away" > > > > > > Not having ownership means another entity could be using user space > > > DMA to manipulate the device state and attack the integrity of the > > > kernel's programming of the device. > > > > > > > Does suppress_kernel_dma sounds better than suppress_dma_owner? > > We found the latter causing some confusion when doing internal > > code review. Somehow this flag represents "don't claim the kernel dma > > ownership during driver binding". suppress_dma_owner sounds the > > entire ownership is disabled... > > If in doubt make it > > suppress_iommu_whatever_the_api_is_that_isn't_called ok > > > Another thing is about DMA_OWNER_SHARED, which is set to indicate > > no dma at all. Thinking more we feel that this flag is meaningless. Its > > sole purpose is to show compatibility to any USER/KERNEL ownership, > > and essentially the same semantics as a device which is not bound to > > any driver. So we plan to remove it then pci-stub just needs one line > > change to set the suppress flag. But want to check with you first in case > > any oversight. > > It sounds reasonable, but also makes it much harder to find the few > places that have this special relationship - ie we can't grep for > DMA_OWNER_SHARED anymore. > It's probably fine. People can just search the suppress flag and filter out drivers with DMA_OWNER_USER. Then the remaining set is about drivers in SHARED category. Less straightforward but should be fine for a relatively small set of drivers. Thanks Kevin