]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
char: mspec: change return type to vm_fault_t
authorSouptick Joarder <jrdr.linux@gmail.com>
Mon, 16 Apr 2018 14:26:09 +0000 (19:56 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 23 Apr 2018 11:51:53 +0000 (13:51 +0200)
Use new return type vm_fault_t for the fault handler
in struct vm_operations_struct.  For now, this is just
documenting that the function returns a VM_FAULT value
rather than an errno.  Once all instances are converted,
vm_fault_t will become a distinct type.

This driver failed to handle any error returned by
vm_insert_pfn. Use the new vmf_insert_pfn function
to return the correct value.

Signed-off-by: Souptick Joarder <jrdr.linux@gmail.com>
Reviewed-by: Matthew Wilcox <mawilcox@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/char/mspec.c

index 7b75669d367030f504c4ec308edb7a6f6a2ce046..058876b55b0974ea0220f03ae79c1b47c5cf857f 100644 (file)
@@ -191,7 +191,7 @@ mspec_close(struct vm_area_struct *vma)
  *
  * Creates a mspec page and maps it to user space.
  */
-static int
+static vm_fault_t
 mspec_fault(struct vm_fault *vmf)
 {
        unsigned long paddr, maddr;
@@ -223,14 +223,7 @@ mspec_fault(struct vm_fault *vmf)
 
        pfn = paddr >> PAGE_SHIFT;
 
-       /*
-        * vm_insert_pfn can fail with -EBUSY, but in that case it will
-        * be because another thread has installed the pte first, so it
-        * is no problem.
-        */
-       vm_insert_pfn(vmf->vma, vmf->address, pfn);
-
-       return VM_FAULT_NOPAGE;
+       return vmf_insert_pfn(vmf->vma, vmf->address, pfn);
 }
 
 static const struct vm_operations_struct mspec_vm_ops = {