Messages in this thread | | | Date | Fri, 22 Aug 2003 11:01:44 -0700 | From | "David S. Miller" <> | Subject | Re: [parisc-linux] Re: Problems with kernel mmap (failing tst-mmap-eofsync in glibc on parisc) |
| |
On Fri, 22 Aug 2003 10:36:34 -0700 "David S. Miller" <davem@redhat.com> wrote:
> On Fri, 22 Aug 2003 18:41:03 +0100 > Matthew Wilcox <willy@debian.org> wrote: > > > Uhm. So what happens when the user has stored into the page and now > > the kernel wants to read from it? There's still data in the cache for > > the user mapping that's non-coherent with the kernel mapping. > > I see. This causes the page cache read flush_dcache_page() call > not to trigger.
Wait, I'm confused again.
How can the user "write" to the mmap()'d side if PROT_WRITE was not specified? That is the only case in which the proposed patch could make a difference, we check this:
switch (flags & MAP_TYPE) { case MAP_SHARED: if ((prot&PROT_WRITE) && !(file->f_mode&FMODE_WRITE)) return -EACCES;
Therefore if the user can write to the page, file->f_mode will have the write bit set too.
So the proposed patch looks bogus to me. - 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/
| |