Messages in this thread | | | Date | Thu, 19 Oct 2006 00:22:37 -0700 (PDT) | Subject | Re: [PATCH] mm:D-cache aliasing issue in cow_user_page | From | David Miller <> |
| |
From: Andrew Morton <akpm@osdl.org> Date: Thu, 19 Oct 2006 00:17:47 -0700
> On Thu, 19 Oct 2006 00:00:27 -0700 (PDT) > David Miller <davem@davemloft.net> wrote: > > > Unfortunately, the kernel has just touched the page and thus there are > > active cache lines for the kernel side mapping. When we map this into > > user space, userspace might see stale cachelines instead of the > > memset() stores. > > hm. Has it always been that way or did something change?
Always.
> > Architectures typically take care of this in copy_user_page() and > > clear_user_page(). The absolutely depend upon those two routines > > being used for anonymous pages, and handle the D-cache issues there. > > Only anonymous pages? There are zillions of places where we modify > pagecache without a flush, especially against the blockdev mapping (fs > metadata).
It's cpu stores that matter, not device DMA and the like, and we have flush_dcache_page() calls in the correct spots. You can see that we take care of this even in places such as the loop driver :-) - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |