Messages in this thread | | | Subject | Re: [PATCH] misc: cxl: Change return type to vm_fault_t | From | Frederic Barrat <> | Date | Fri, 11 May 2018 12:24:29 +0200 |
| |
Le 17/04/2018 à 16:53, Souptick Joarder a écrit : > Use new return type vm_fault_t for fault handler. 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. > > Reference id -> 1c8f422059ae ("mm: change return type to > vm_fault_t") > > previously cxl_mmap_fault returns VM_FAULT_NOPAGE as > default value irrespective of vm_insert_pfn() return > value. This bug is fixed with new vmf_insert_pfn() > which will return VM_FAULT_ type based on err. > > Signed-off-by: Souptick Joarder <jrdr.linux@gmail.com> > ---
It looks ok, and it passed some basic testing.
Acked-by: Frederic Barrat <fbarrat@linux.vnet.ibm.com>
Fred
> drivers/misc/cxl/context.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/drivers/misc/cxl/context.c b/drivers/misc/cxl/context.c > index 7ff315a..c6ec872 100644 > --- a/drivers/misc/cxl/context.c > +++ b/drivers/misc/cxl/context.c > @@ -128,11 +128,12 @@ void cxl_context_set_mapping(struct cxl_context *ctx, > mutex_unlock(&ctx->mapping_lock); > } > > -static int cxl_mmap_fault(struct vm_fault *vmf) > +static vm_fault_t cxl_mmap_fault(struct vm_fault *vmf) > { > struct vm_area_struct *vma = vmf->vma; > struct cxl_context *ctx = vma->vm_file->private_data; > u64 area, offset; > + vm_fault_t ret; > > offset = vmf->pgoff << PAGE_SHIFT; > > @@ -169,11 +170,11 @@ static int cxl_mmap_fault(struct vm_fault *vmf) > return VM_FAULT_SIGBUS; > } > > - vm_insert_pfn(vma, vmf->address, (area + offset) >> PAGE_SHIFT); > + ret = vmf_insert_pfn(vma, vmf->address, (area + offset) >> PAGE_SHIFT); > > mutex_unlock(&ctx->status_mutex); > > - return VM_FAULT_NOPAGE; > + return ret; > } > > static const struct vm_operations_struct cxl_mmap_vmops = { > -- > 1.9.1 >
| |