Re: Re: [RFC] PAGE_RW Should be added to PAGE_COPY ?

From: Hugh Dickins
Date: Thu Sep 14 2006 - 23:40:03 EST


On Fri, 15 Sep 2006, Yingchao Zhou wrote:
> >
> >You want to mmap MAP_SHARED, which will use PAGE_SHARED instead,
> >including the write bit, both before and after the mprotects.
> >There should be no problem then: do you actually see a problem
> >when MAP_SHARED is used?
> It's ok to mmap MAP_SHARED. But is it not a normal way to malloc() a space and
> then registered to NIC ?

Not that I know of. How would one register malloc()ed space to a NIC?
Sorry, I may well be misunderstanding you.

> >> Adding PAGE_RW to PAGE_COPY will resolve this problem.
> >
> >No! That would give every user write access to shared files they
> >should have no write access to.
> I guess you refer to mmap a file MAP_READ|MAP_WRITE in MAP_PRIVATE way.
> I think it is probably more logical to read the file data into an anoymous page and filled the pte with _PAGE_RW in the first time page-fault. It will probably reduce numbers of page fault interrupt.

do_no_page() does just that when its fault demands write access; but
doesn't waste memory and time on copying when it's only a read access.

Hugh
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/