NFS: Close page_mkwrite() races

Follow up to Nick Piggin's patches to ensure that nfs_vm_page_mkwrite
returns with the page lock held, and sets the VM_FAULT_LOCKED flag.

See http://bugzilla.kernel.org/show_bug.cgi?id=12913

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Trond Myklebust 2009-04-24 17:32:22 -04:00 committed by Linus Torvalds
parent b4348f32da
commit 7fdf523067

View file

@ -517,10 +517,10 @@ static int nfs_vm_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf)
ret = nfs_updatepage(filp, page, 0, pagelen);
out_unlock:
if (!ret)
return VM_FAULT_LOCKED;
unlock_page(page);
if (ret)
ret = VM_FAULT_SIGBUS;
return ret;
return VM_FAULT_SIGBUS;
}
static struct vm_operations_struct nfs_file_vm_ops = {