On Thu 2015-03-19 10:54:22, Oliver Neukum wrote:
> On Thu, 2015-03-19 at 10:38 +0100, Pavel Machek wrote:
> > On Thu 2015-03-19 10:14:21, Oliver Neukum wrote:
> > > On Mon, 2015-03-16 at 22:37 +0100, Jiri Kosina wrote:
> 
> > > > Are you sure CONFIG_DMA_API_DEBUG wouldn't warn here?
> > > 
> > > As far as I can tell, it will not warn. The problem is not in the
> > > mapping itself. That is usually legitimate. The problem arises
> > > because the buffer doesn't have a cacheline of its own. Thus the
> > > memory corruption happens after the IO operation has started.
> > 
> > Nasty. Would WARN_ON(buffer & CACHELINE_SIZE-1) do at least part of
> 
> No. It is perfectly legitimate to put your buffer at an offset
> or to combine buffers provided you don't use them at the same
> time.

Legitimate: yes. Is anyone doing it? And will not they see exactly the
same data corruption with the aliasing data?

> > Alternatively, we could create "allocate_for_usb" function, and only
> > take pointers allocated by that function in usb functions. That would
> > also teach people the problem exists...
> 
> No, this problem is not limited to USB.

Well.. Recognize that just because you have a pointer does not mean
you can pass it to certain functions.

Maybe those functions should not be taking pointers in the first
place....

                                                                Pavel
-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) 
http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to