Re: [PATCH] HID: sony: Enable Gasia third-party PS3 controllers

From: Pavel Machek
Date: Thu Mar 19 2015 - 06:12:19 EST


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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/