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

Re: [Xen-devel] Question regarding SLAB corruption



On 9/7/07 22:26, "Roland Dreier" <rdreier@xxxxxxxxx> wrote:

>> 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!
> 
>> We could make the swiotlb robust to this treatment, I guess. It will involve
>> initialising all covered io_tlb_orig_addr[] slots rather than just the
>> first.
> 
> Does this mean that lib/swiotlb.c's swiotlb_sync_single_range_for_cpu()
> and swiotlb_sync_single_range_for_device() are broken?  Given that (as
> you say) io_tlb_orig_addr[] only gets one slot filled in at the end of
> map_single(), I don't see any way it could work if more than one page
> is mapped.

Yeah, see the email I posted just one second ago. :-)

So my workaround patches are quite applicable to lib/swiotlb.c as a genuine
bug fix!

 -- Keir


_______________________________________________
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®.