Re: [PATCH] i386 uaccess to fixmap pages

Jamie Lokier (jamie@shareable.org)
Fri, 9 May 2003 13:40:42 +0100


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/