Re: [PATCH 2/2] auxdisplay/ht16k33.c: Convert to use vm_map_pages_zero()
From: Souptick Joarder
Date: Thu May 23 2019 - 04:21:29 EST
On Tue, May 21, 2019 at 12:24 PM Robin van der Gracht <robin@xxxxxxxxxxx> wrote:
>
> On Mon, 20 May 2019 21:00:58 +0530
> Souptick Joarder <jrdr.linux@xxxxxxxxx> wrote:
>
> > While using mmap, the incorrect value of length and vm_pgoff are
> > ignored and this driver go ahead with mapping fbdev.buffer
> > to user vma.
> >
> > Convert vm_insert_pages() to use vm_map_pages_zero(). We could later
> > "fix" these drivers to behave according to the normal vm_pgoff
> > offsetting simply by removing the _zero suffix on the function name
> > and if that causes regressions, it gives us an easy way to revert.
> >
> > Signed-off-by: Souptick Joarder <jrdr.linux@xxxxxxxxx>
> > ---
> > drivers/auxdisplay/ht16k33.c | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/auxdisplay/ht16k33.c b/drivers/auxdisplay/ht16k33.c
> > index 21393ec..9c0bb77 100644
> > --- a/drivers/auxdisplay/ht16k33.c
> > +++ b/drivers/auxdisplay/ht16k33.c
> > @@ -223,9 +223,9 @@ static int ht16k33_bl_check_fb(struct backlight_device *bl, struct fb_info *fi)
> > static int ht16k33_mmap(struct fb_info *info, struct vm_area_struct *vma)
> > {
> > struct ht16k33_priv *priv = info->par;
> > + struct page *pages = virt_to_page(priv->fbdev.buffer);
> >
> > - return vm_insert_page(vma, vma->vm_start,
> > - virt_to_page(priv->fbdev.buffer));
> > + return vm_map_pages_zero(vma, &pages, 1);
> > }
> >
> > static struct fb_ops ht16k33_fb_ops = {
>
> Acked-by: Robin van der Gracht <robin@xxxxxxxxxxx>
Miguel, Ack from Robin is missing in linux-next-20190523 when applied.