All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 2/2] auxdisplay/ht16k33.c: Convert to use vm_map_pages_zero()
@ 2019-05-20 15:30 Souptick Joarder
  2019-05-21  6:55 ` Robin van der Gracht
  2019-05-23 13:23 ` Miguel Ojeda
  0 siblings, 2 replies; 10+ messages in thread
From: Souptick Joarder @ 2019-05-20 15:30 UTC (permalink / raw)
  To: miguel.ojeda.sandonis, robin; +Cc: linux-kernel, willy, Souptick Joarder

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@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 = {
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 10+ messages in thread
* [PATCH 2/2] auxdisplay/ht16k33.c: Convert to use vm_map_pages_zero()
@ 2019-05-26 16:11 Souptick Joarder
  0 siblings, 0 replies; 10+ messages in thread
From: Souptick Joarder @ 2019-05-26 16:11 UTC (permalink / raw)
  To: miguel.ojeda.sandonis; +Cc: linux-kernel, willy, robin, Souptick Joarder

While using mmap, the incorrect values of length and vm_pgoff are
ignored and this driver goes 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@gmail.com>
Acked-by: Robin van der Gracht <robin@protonic.nl>
---
v2: Fixed minor typo. Acked-by tag added.

 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 = {
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2019-05-28 19:03 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-05-20 15:30 [PATCH 2/2] auxdisplay/ht16k33.c: Convert to use vm_map_pages_zero() Souptick Joarder
2019-05-21  6:55 ` Robin van der Gracht
2019-05-23  8:18   ` Souptick Joarder
2019-05-23 12:58     ` Miguel Ojeda
2019-05-24  4:22       ` Miguel Ojeda
2019-05-24  6:07         ` Souptick Joarder
2019-05-28 19:03           ` Miguel Ojeda
2019-05-23 13:23 ` Miguel Ojeda
2019-05-24  6:10   ` Souptick Joarder
2019-05-26 16:11 Souptick Joarder

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.