On Monday 27 November 2006 6:51 am, Alan Stern wrote:
> On Sun, 26 Nov 2006, David Brownell wrote:

> > The question still remains:  how could this corruption happen?
> 
> ...
>
> They share the same cache line as parts of the buffer.  As a result the 
> cache line gets filled again, possibly before the DMA has taken place.  
> Now the cache is full but it doesn't have the data sent by the device.  
> When the input operation finishes, the CPU won't see the correct data in 
> the buffer -- it will see the stale data in the cache.  If the CPU does a 
> write to the struct it could even overwrite the correct data with the 
> stale cached data.

That's how it could work if that code were enabled.  But also notice
how the *only* reference that could possibly work like that is also
preceded by the FIXME which explains why all of that code is disabled,
and tells what the real fix should be.

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to