From: Stefano Stabellini Date: Tue, 3 Apr 2012 17:05:47 +0000 (+0100) Subject: xen/gntdev: do not set VM_PFNMAP X-Git-Tag: v3.2.17~160 X-Git-Url: https://git.openpandora.org/cgi-bin/gitweb.cgi?p=pandora-kernel.git;a=commitdiff_plain;h=25a873a89ffb910c5a28fe792b008e6a93d99242 xen/gntdev: do not set VM_PFNMAP commit e8e937be971d706061dc56220ff3605ab77622a7 upstream. Since we are using the m2p_override we do have struct pages corresponding to the user vma mmap'ed by gntdev. Removing the VM_PFNMAP flag makes get_user_pages work on that vma. An example test case would be using a Xen userspace block backend (QDISK) on a file on NFS using O_DIRECT. Signed-off-by: Stefano Stabellini Signed-off-by: Konrad Rzeszutek Wilk Signed-off-by: Ben Hutchings --- diff --git a/drivers/xen/gntdev.c b/drivers/xen/gntdev.c index afca14d9042e..625890c31daf 100644 --- a/drivers/xen/gntdev.c +++ b/drivers/xen/gntdev.c @@ -692,7 +692,7 @@ static int gntdev_mmap(struct file *flip, struct vm_area_struct *vma) vma->vm_flags |= VM_RESERVED|VM_DONTEXPAND; if (use_ptemod) - vma->vm_flags |= VM_DONTCOPY|VM_PFNMAP; + vma->vm_flags |= VM_DONTCOPY; vma->vm_private_data = map;