Messages in this thread | ![/](/images/icornerl.gif) | | Date | Thu, 12 Jun 2003 19:07:40 -0700 | From | Roland McGrath <> | Subject | Re: FIXMAP-related change to mm/memory.c |
| |
> Is it possible to constrain the FIXADDR range on x86/x86-64 > (FIXADDR_START-FIXADDR_TOP) such that the entire range is read-only by > user-level?
The fixmap area is used for other kernel-only mappings for things that I doubt should be exposed to users, not just user-accessible pages. At the moment, the vsyscall page is the only user-accessible page in the fixmap area. I wrote the get_user_pages change to be as generic as possible, so it would do the right thing if other uses of the fixmap area were added. Your patch makes the various other kernel-internal fixmap pages readable by users, which is not right.
The pte_user predicate was added just for this purpose. It seems reasonable to me to replace its use with a new pair of predicates, pte_user_read and pte_user_write, whose meaning is clearly specified for precisely this purpose. That is, those predicates check whether a user process should be allowed to read/write the page via something like ptrace.
That's the obvious idea to me. But I have no special opinions about this stuff myself. The current code is as it is because that's what Linus wanted.
Thanks, Roland - 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/
| ![\](/images/icornerr.gif) |