Hi Laurent, Joerg, On Wed, Aug 31, 2011 at 7:56 PM, Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> wrote: > On Wednesday 31 August 2011 15:06:42 Roedel, Joerg wrote: >> Do you mean the parts of the pages you map to the device that are not in >> the requested range (basically everything before offset and all after >> size)? >> This issue exists in other iommu drivers as well. It is inherent to how >> the dma-api is defined and how the iommu hardware works. >> The dma-api can work on byte granularity while the hardware usually only >> works on page granularity. > > True, but if we implement address rounding transparently in the IOMMU layer > Ohad's concern can be valid, depending on whether the device is trusted. If we > decide to push address rounding to the drivers that decision can be made on a > per-device basis. However, drivers are usually not aware of what granularity > the IOMMU works on, so that wouldn't be straightforward and clean. I think the confusion lies in the fact that omap's iovmm should be treated as the DMA-API (which will soon replace it altogether anyway) and not as an IOMMU driver, and in that sense, Laurent's patch does sound reasonable. However, one needs to keep this in mind (e.g. map only page-aligned buffers ?) when using the upcoming iommu-based DMA-API with untrusted devices (such as remote processors running arbitrary code). It is completely wrong to allow these devices access to random physical memory regions. We might want to come up with a way to prevent this from happening... Thanks, Ohad. -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html