On Tue, May 18, 2004 at 08:10:19PM +0100, Peter Horton wrote: > The kernel maps the page cache page into user space ... BANG! possible > D-cache alias. > > The kernel doesn't bother flushing the page cache page from the D-cache > as it's never accessed at it's page cache address. It is - after all the driver is copying the data to there. The same problem also exists in the ramdisk driver and there it has been fixed properly, it seems. > The current fix in the Cobalt patches (2.4 & 2.6) just flushes the read > data out of the D-cache after every IDE insw()/insl(). This is the least > intrusive fix. > > Some Sparc machines also see this problem. Carelessly written PIO drivers on any architecture would suffer from this kind of problem. Ralf