Re: FIXMAP-related change to mm/memory.c

From: Roland McGrath (roland@redhat.com)
Date: Thu Jun 12 2003 - 21:07:40 EST


> 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/



This archive was generated by hypermail 2b29 : Sun Jun 15 2003 - 22:00:35 EST