Messages in this thread | | | Date | Sun, 12 Feb 2006 23:12:23 -0800 | From | Andrew Morton <> | Subject | Re: [PATCH 1/3] compound page: use page[1].lru |
| |
"David S. Miller" <davem@davemloft.net> wrote: > > From: Andrew Morton <akpm@osdl.org> > Date: Sun, 12 Feb 2006 18:13:12 -0800 > > > We have a page which has no ->mapping, but lo, it's mmapped by userspace > > and can be MAP_SHARED between different CPUs and processes. > > > > Yes, I suspect it'll do the wrong thing in unpleasantly subtle ways. > > > > (cc's davem and runs away). > > The ->mapping check is there essentially to hit user mapped pages that > would be modified by the kernel using kernel space memory accesses > other than those done by copy_user_page() and clear_user_page() (and > their brothers copy_user_highpage() and clear_user_highpage() which > just call the former directly on a non-HIGHPAGE platform like > sparc64).
The direct-io.c code just does memset. (That's very common - maybe clear_user_highpage_partial() is needed?)
> Hugepages actually have no D-cache aliasing issues by definition on > sparc64 because the smallest possible hugepage size is 64K which is > larger than the D-cache aliasing factor (which is 16K).
OK.. So it would be a bug, except for this hardware quirk. I'll check the other architectures. - 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/
| |