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: Muhammad Falak R Wani <falakreyaz@gmail.com> Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com> Signed-off-by: Sumit Semwal <sumit.semwal@linaro.org>
This commit is contained in:
parent
4320c2a22d
commit
b02da6f823
@ -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)
|
|||||||
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,
|
|||||||
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;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user