From: Stefano Stabellini Date: Tue, 3 Apr 2012 17:05:47 +0000 (+0100) Subject: xen/gntdev: do not set VM_PFNMAP X-Git-Tag: v2.6.39-400.9.0~543^2~17^2~12 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=23375175d044bc1a947fb6a3614c504bcb0d8a00;p=users%2Fjedix%2Flinux-maple.git xen/gntdev: do not set VM_PFNMAP 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. [upstream git commit df7219f] CC: stable@kernel.org Signed-off-by: Stefano Stabellini Signed-off-by: Konrad Rzeszutek Wilk --- diff --git a/drivers/xen/gntdev.c b/drivers/xen/gntdev.c index 89fc689f983c..04877edadb7d 100644 --- a/drivers/xen/gntdev.c +++ b/drivers/xen/gntdev.c @@ -721,7 +721,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;