|
@@ -1947,14 +1947,14 @@ static int synchronous_wake_function(wait_queue_entry_t *wait, unsigned mode, in
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
-static int shmem_fault(struct vm_fault *vmf)
|
|
|
+static vm_fault_t shmem_fault(struct vm_fault *vmf)
|
|
|
{
|
|
|
struct vm_area_struct *vma = vmf->vma;
|
|
|
struct inode *inode = file_inode(vma->vm_file);
|
|
|
gfp_t gfp = mapping_gfp_mask(inode->i_mapping);
|
|
|
enum sgp_type sgp;
|
|
|
- int error;
|
|
|
- int ret = VM_FAULT_LOCKED;
|
|
|
+ int err;
|
|
|
+ vm_fault_t ret = VM_FAULT_LOCKED;
|
|
|
|
|
|
/*
|
|
|
* Trinity finds that probing a hole which tmpfs is punching can
|
|
@@ -2022,10 +2022,10 @@ static int shmem_fault(struct vm_fault *vmf)
|
|
|
else if (vma->vm_flags & VM_HUGEPAGE)
|
|
|
sgp = SGP_HUGE;
|
|
|
|
|
|
- error = shmem_getpage_gfp(inode, vmf->pgoff, &vmf->page, sgp,
|
|
|
+ err = shmem_getpage_gfp(inode, vmf->pgoff, &vmf->page, sgp,
|
|
|
gfp, vma, vmf, &ret);
|
|
|
- if (error)
|
|
|
- return ((error == -ENOMEM) ? VM_FAULT_OOM : VM_FAULT_SIGBUS);
|
|
|
+ if (err)
|
|
|
+ return vmf_error(err);
|
|
|
return ret;
|
|
|
}
|
|
|
|