Эх сурвалжийг харах

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>
Muhammad Falak R Wani 9 жил өмнө
parent
commit
b02da6f823

+ 4 - 3
drivers/dma-buf/dma-buf.c

@@ -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;