Roland McGrath wrote:
> The address is valid, but above TASK_SIZE. The purpose of access_ok
> is to say that it's ok to try it and let it fault, because it's a
> user-visible address and not the kernel memory mapped into the high
> part of every process's address space. The accesses that follow are
> done in kernel mode, so there is no fault for pages marked as not
> user-visible. The fixmap addresses are > TASK_SIZE and so fail the
> __range_ok test, heretofore making access_ok return false. Those
> are the code paths leading to EFAULT that I mentioned.
>
> So far I can't think of a better way to do it.
Why don't you change TASK_SIZE to 0xc0001000 (or so) and place the
user-visible fixmaps at 0xc0000000?
That would have no cost at all.
-- Jamie
-
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 : Thu May 15 2003 - 22:00:31 EST