summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSouptick Joarder <jrdr.linux@gmail.com>2018-04-16 19:56:09 +0530
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2018-04-23 13:51:53 +0200
commit3eb87d4e5a93fcd89631e440e46c1c4da59fc94f (patch)
treed6e4a002d3e3b8e03bd2ee50a3b1e63cdf0bc989
parent851b4c14532df4e4fd902b4b34cb0fe6937f03ca (diff)
downloadop-kernel-dev-3eb87d4e5a93fcd89631e440e46c1c4da59fc94f.zip
op-kernel-dev-3eb87d4e5a93fcd89631e440e46c1c4da59fc94f.tar.gz
char: mspec: change return type to vm_fault_t
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>
-rw-r--r--drivers/char/mspec.c11
1 files changed, 2 insertions, 9 deletions
diff --git a/drivers/char/mspec.c b/drivers/char/mspec.c
index 7b75669..058876b 100644
--- a/drivers/char/mspec.c
+++ b/drivers/char/mspec.c
@@ -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 = {
OpenPOWER on IntegriCloud