[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Question regarding SLAB corruption



 > Oh! I take it then that the infiniband driver will call sync_single() on
 > subsections of a mapped region? I haven't seen that behaviour before and it
 > will kill lib/swiotlb.c (the generic Linux swiotlb implementation) just as
 > surely as it does the Xen-specific swiotlb!

I guess it is not being hit on non-Xen Linux because mthca sets a
64-bit DMA mask and hence bypasses swiotlb.

However what you point out does seem to be a bug:
Documentation/DMA-API.txt says:

    void
    dma_sync_single(struct device *dev, dma_addr_t dma_handle, size_t size,
                    enum dma_data_direction direction)

    ...

    synchronise a single contiguous or scatter/gather mapping.  All the
    parameters must be the same as those passed into the single mapping
    API.

so it seems not really kosher to do on a subsection of a mapping...

I'll take a look at how we can do better here.

 - R.

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.