Re: vmalloc fault

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 04/26/2013 06:17 AM, Simon Jeons wrote:
Morning Rik, so early.
On 04/26/2013 06:04 PM, Rik van Riel wrote:
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.

It seems that you miss my question. I mean why sync page table between
user process and init_mm.pgd, can user process use init_mm.pgd page
table directly when access vmalloc memory? ;-)

init_mm.pgd is never used as an actual mmu context after bootup.


2. Why do_swap_page doesn't set present flag?

It does.  Look at how vm_get_page_prot works.

Got it.


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>




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]