struct page * alloc_page_vma (unsigned int __nocast gfp, struct vm_area_struct * vma, unsigned long addr);
This function allocates a page from the kernel page pool and applies a NUMA policy associated with the VMA or the current process. When VMA is not NULL caller must hold down_read on the mmap_sem of the mm_struct of the VMA to prevent it from going away. Should be used for all allocations for pages that will be mapped into user space. Returns NULL when no page can be allocated.
Should be called with the mm_sem of the vma hold.
This function allocates a page from the kernel page pool and applies a NUMA policy associated with the VMA or the current process. When VMA is not NULL caller must hold down_read on the mmap_sem of the mm_struct of the VMA to prevent it from going away. Should be used for all allocations for pages that will be mapped into user space. Returns NULL when no page can be allocated.
Should be called with the mm_sem of the vma hold.