On Mon, 20 May 2019 21:00:58 +0530
Souptick Joarder <jrdr.li...@gmail.com> 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.li...@gmail.com>
> ---
>  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 <ro...@protonic.nl>

Reply via email to