Re: [PATCH v2] drm/vkms: Use new return type vm_fault_t

From: Souptick Joarder
Date: Tue Aug 28 2018 - 12:50:45 EST


On Tue, Jul 31, 2018 at 12:05 AM Gustavo Padovan <gustavo@xxxxxxxxxxx> wrote:
>
> Hi Souptick,
>
> On Thu, Jul 26, 2018 at 08:15:49PM +0530, Souptick Joarder wrote:
> > Use new return type vm_fault_t for fault handler.
> >
> > Signed-off-by: Souptick Joarder <jrdr.linux@xxxxxxxxx>
> > ---
> > v2: Updated patch title
> >
> > drivers/gpu/drm/vkms/vkms_drv.h | 2 +-
> > drivers/gpu/drm/vkms/vkms_gem.c | 5 ++---
> > 2 files changed, 3 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/vkms/vkms_drv.h b/drivers/gpu/drm/vkms/vkms_drv.h
> > index 07be29f..d5d04a8 100644
> > --- a/drivers/gpu/drm/vkms/vkms_drv.h
> > +++ b/drivers/gpu/drm/vkms/vkms_drv.h
> > @@ -65,7 +65,7 @@ struct drm_gem_object *vkms_gem_create(struct drm_device *dev,
> > u32 *handle,
> > u64 size);
> >
> > -int vkms_gem_fault(struct vm_fault *vmf);
> > +vm_fault_t vkms_gem_fault(struct vm_fault *vmf);
> >
> > int vkms_dumb_create(struct drm_file *file, struct drm_device *dev,
> > struct drm_mode_create_dumb *args);
> > diff --git a/drivers/gpu/drm/vkms/vkms_gem.c b/drivers/gpu/drm/vkms/vkms_gem.c
> > index c7e3836..62e05dc 100644
> > --- a/drivers/gpu/drm/vkms/vkms_gem.c
> > +++ b/drivers/gpu/drm/vkms/vkms_gem.c
> > @@ -43,14 +43,14 @@ void vkms_gem_free_object(struct drm_gem_object *obj)
> > kfree(gem);
> > }
> >
> > -int vkms_gem_fault(struct vm_fault *vmf)
> > +vm_fault_t vkms_gem_fault(struct vm_fault *vmf)
> > {
> > struct vm_area_struct *vma = vmf->vma;
> > struct vkms_gem_object *obj = vma->vm_private_data;
> > unsigned long vaddr = vmf->address;
> > pgoff_t page_offset;
> > loff_t num_pages;
> > - int ret;
> > + vm_fault_t ret = VM_FAULT_SIGBUS;
> >
> > page_offset = (vaddr - vma->vm_start) >> PAGE_SHIFT;
> > num_pages = DIV_ROUND_UP(obj->gem.size, PAGE_SIZE);
> > @@ -58,7 +58,6 @@ int vkms_gem_fault(struct vm_fault *vmf)
> > if (page_offset > num_pages)
> > return VM_FAULT_SIGBUS;
> >
> > - ret = -ENOENT;
> > mutex_lock(&obj->pages_lock);
> > if (obj->pages) {
> > get_page(obj->pages[page_offset]);
> > --
> > 1.9.1
>
> Patch pushed to drm-misc-next. vkms is still experimental so I'm not
> queueing this for 4.19. Thanks.
>
> Gustavo

Gustavo, can we get this patch into 4.19-rc-x ?