diff options
author | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2013-04-24 07:35:20 +0200 |
---|---|---|
committer | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2013-04-26 07:28:56 +0200 |
commit | 138f296e140f79cb955caba70690076fb14e6f6d (patch) | |
tree | ac205dc33305938a0465800336c198ff399a9114 /drivers/video | |
parent | fbdev: improve fb_mmap bounds checks (diff) | |
download | linux-138f296e140f79cb955caba70690076fb14e6f6d.tar.xz linux-138f296e140f79cb955caba70690076fb14e6f6d.zip |
fbdev: fix check for fb_mmap's mmio availability
Commit fc9bbca8f650e5f738af8806317c0a041a48ae4a (vm: convert fb_mmap to
vm_iomap_memory() helper) made fbmem.c use vm_iomap_memory, but also
accidentally removed the check for mmio's availability.
Add the check back.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Diffstat (limited to 'drivers/video')
-rw-r--r-- | drivers/video/fbmem.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/video/fbmem.c b/drivers/video/fbmem.c index 86291dcd964a..dcb669eb4532 100644 --- a/drivers/video/fbmem.c +++ b/drivers/video/fbmem.c @@ -1398,6 +1398,11 @@ fb_mmap(struct file *file, struct vm_area_struct * vma) len = info->fix.smem_len; mmio_pgoff = PAGE_ALIGN((start & ~PAGE_MASK) + len) >> PAGE_SHIFT; if (vma->vm_pgoff >= mmio_pgoff) { + if (info->var.accel_flags) { + mutex_unlock(&info->mm_lock); + return -EINVAL; + } + vma->vm_pgoff -= mmio_pgoff; start = info->fix.mmio_start; len = info->fix.mmio_len; |