Re: [PATCH v1 4/9] iommu/vt-d: Add bounce buffer API for domain map/unmap

From: Christoph Hellwig
Date: Wed Mar 13 2019 - 12:10:34 EST


On Wed, Mar 13, 2019 at 10:31:52AM +0800, Lu Baolu wrote:
> Hi again,
>
> On 3/13/19 10:04 AM, Lu Baolu wrote:
> > Hi,
> >
> > On 3/13/19 12:38 AM, Christoph Hellwig wrote:
> > > On Tue, Mar 12, 2019 at 02:00:00PM +0800, Lu Baolu wrote:
> > > > This adds the APIs for bounce buffer specified domain
> > > > map() and unmap(). The start and end partial pages will
> > > > be mapped with bounce buffered pages instead. This will
> > > > enhance the security of DMA buffer by isolating the DMA
> > > > attacks from malicious devices.
> > >
> > > Please reuse the swiotlb code instead of reinventing it.
> > >
>
> Just looked into the code again. At least we could reuse below
> functions:
>
> swiotlb_tbl_map_single()
> swiotlb_tbl_unmap_single()
> swiotlb_tbl_sync_single()
>
> Anything else?

Yes, that is probably about the level you want to reuse, given that the
next higher layer already has hooks into the direct mapping code.