Commit b02da6f8 authored by Muhammad Falak R Wani's avatar Muhammad Falak R Wani Committed by Sumit Semwal

dma-buf: use vma_pages()

Replace explicit computation of vma page count by a call to
vma_pages().
Also, include <linux/mm.h>
Signed-off-by: default avatarMuhammad Falak R Wani <falakreyaz@gmail.com>
Reviewed-by: default avatarEric Engestrom <eric.engestrom@imgtec.com>
Signed-off-by: default avatarSumit Semwal <sumit.semwal@linaro.org>
parent 4320c2a2
...@@ -33,6 +33,7 @@ ...@@ -33,6 +33,7 @@
#include <linux/seq_file.h> #include <linux/seq_file.h>
#include <linux/poll.h> #include <linux/poll.h>
#include <linux/reservation.h> #include <linux/reservation.h>
#include <linux/mm.h>
#include <uapi/linux/dma-buf.h> #include <uapi/linux/dma-buf.h>
...@@ -90,7 +91,7 @@ static int dma_buf_mmap_internal(struct file *file, struct vm_area_struct *vma) ...@@ -90,7 +91,7 @@ static int dma_buf_mmap_internal(struct file *file, struct vm_area_struct *vma)
dmabuf = file->private_data; dmabuf = file->private_data;
/* check for overflowing the buffer's size */ /* check for overflowing the buffer's size */
if (vma->vm_pgoff + ((vma->vm_end - vma->vm_start) >> PAGE_SHIFT) > if (vma->vm_pgoff + vma_pages(vma) >
dmabuf->size >> PAGE_SHIFT) dmabuf->size >> PAGE_SHIFT)
return -EINVAL; return -EINVAL;
...@@ -723,11 +724,11 @@ int dma_buf_mmap(struct dma_buf *dmabuf, struct vm_area_struct *vma, ...@@ -723,11 +724,11 @@ int dma_buf_mmap(struct dma_buf *dmabuf, struct vm_area_struct *vma,
return -EINVAL; return -EINVAL;
/* check for offset overflow */ /* check for offset overflow */
if (pgoff + ((vma->vm_end - vma->vm_start) >> PAGE_SHIFT) < pgoff) if (pgoff + vma_pages(vma) < pgoff)
return -EOVERFLOW; return -EOVERFLOW;
/* check for overflowing the buffer's size */ /* check for overflowing the buffer's size */
if (pgoff + ((vma->vm_end - vma->vm_start) >> PAGE_SHIFT) > if (pgoff + vma_pages(vma) >
dmabuf->size >> PAGE_SHIFT) dmabuf->size >> PAGE_SHIFT)
return -EINVAL; return -EINVAL;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment