On 04/26/2013 05:55 AM, Simon Jeons wrote:
Hi all, 1. Why vmalloc fault need sync user process page table with kernel page table instead of using kernel page table directly?
Each process has its own PGD, into which both kernel and user PMDs (or PUDs) are mapped. It is possible the PGD is missing some pointers, that need to be filled in at fault time.
2. Why do_swap_page doesn't set present flag?
It does. Look at how vm_get_page_prot works.
3. When enable DEBUG_PAGEALLOC(catch use-after-free bug), if user process alloc pages from zone_normal(which is direct mapping) when fallback, this page which allocated for user process will set present flag in related pte, correct? but why also set present flag for kernel direct mapping? Does kernel have any requirement to access it?
-- All rights reversed -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>