Re: build problems on architectures where FIXADDR_* stuff is not constant

From: Andrew Morton (akpm@digeo.com)
Date: Tue May 13 2003 - 18:56:06 EST


Andrew Morton <akpm@digeo.com> wrote:
>
> The new code in get_user_pages() is rather rude - it's returning a
> statically allocated VMA which isn't in the VMA tree - the caller (who
> holds mmap_sem()) could reasonably expect that the VMA can be located via
> find_vma(), or removed from the tree or whatever. But it cannot.
>
> I think it needs to be redone. Either by stuffing a VMA into every
> process's mm which describes the fixmap area, or by failing
> get_user_pages() if the caller has passed in a non-NULL `vmas' and is
> requesting access to the fixmap area.

Or by lazily instantiating the fixmap VMA within get_user_pages(). So if
someone happens to want to access the fixmap, that's when the vma which
describes it gets stuffed into the tree.

That'd require that get_user_pages() be called under down_write(mmap_sem).

-
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:49 EST