On Mon, Sep 07, 2020 at 01:40:46PM -0400, Jim Quinlan wrote: > Thanks for looking into this. The concern I have with your solution > is that returning an arbitrarily large offset might overlap with an > improbable but valid usage. AFAIK there is nothing that disallows > mapping a device to anywhere within the 64bit range of PCIe space, > including up to say 0xffffffffffffffff. > > As an alternative perhaps changing dma_capable() so that if the > dma_range_map is present then it validates that both ends of the > prospective DMA region get "hits" on one of the offset regions in the > map. Christoph, if you are okay with this I can quickly post a patch.
We use a dma_addr of all-Fs as an error code, see the definition of DMA_MAPPING_ERROR. The rationale of why we think it is safe: We don't do single byte mappings, so the last address of the address space can't effectively be used for anything. So I think it would be a good fit here. _______________________________________________ iommu mailing list email@example.com https://lists.linuxfoundation.org/mailman/listinfo/iommu