Messages in this thread | | | Date | Mon, 09 Sep 2002 12:14:42 -0700 | From | Andrew Morton <> | Subject | Re: Calculating kernel logical address .. |
| |
Daniel Phillips wrote: > > ... > > down(¤t->mm->mmap_sem) would help. > > Not for anon pages, and how do you know whether it's anon or not before > looking at the page, which may be free by the time you look at it? > In other words, mm->page_table_lock is the one, because it's required > for unmapping a pte, and any mapped page will be forced to hold a count > increment until it gets past that lock. Without this lock, the results > of pte_page are unstable.
The caller of get_user_pages() needs to hold mmap_sem for reading to prevent the vmas from going away. get_user_pages() does the right thing wrt page_table_lock. (As a quick peek at the code would reveal...) - 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/
| |