diff options
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/dma-buf/dma-buf.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/dma-buf/dma-buf.c b/drivers/dma-buf/dma-buf.c index 4a2c07ee6677..6355ab38d630 100644 --- a/drivers/dma-buf/dma-buf.c +++ b/drivers/dma-buf/dma-buf.c | |||
| @@ -33,6 +33,7 @@ | |||
| 33 | #include <linux/seq_file.h> | 33 | #include <linux/seq_file.h> |
| 34 | #include <linux/poll.h> | 34 | #include <linux/poll.h> |
| 35 | #include <linux/reservation.h> | 35 | #include <linux/reservation.h> |
| 36 | #include <linux/mm.h> | ||
| 36 | 37 | ||
| 37 | #include <uapi/linux/dma-buf.h> | 38 | #include <uapi/linux/dma-buf.h> |
| 38 | 39 | ||
| @@ -90,7 +91,7 @@ static int dma_buf_mmap_internal(struct file *file, struct vm_area_struct *vma) | |||
| 90 | dmabuf = file->private_data; | 91 | dmabuf = file->private_data; |
| 91 | 92 | ||
| 92 | /* check for overflowing the buffer's size */ | 93 | /* check for overflowing the buffer's size */ |
| 93 | if (vma->vm_pgoff + ((vma->vm_end - vma->vm_start) >> PAGE_SHIFT) > | 94 | if (vma->vm_pgoff + vma_pages(vma) > |
| 94 | dmabuf->size >> PAGE_SHIFT) | 95 | dmabuf->size >> PAGE_SHIFT) |
| 95 | return -EINVAL; | 96 | return -EINVAL; |
| 96 | 97 | ||
| @@ -723,11 +724,11 @@ int dma_buf_mmap(struct dma_buf *dmabuf, struct vm_area_struct *vma, | |||
| 723 | return -EINVAL; | 724 | return -EINVAL; |
| 724 | 725 | ||
| 725 | /* check for offset overflow */ | 726 | /* check for offset overflow */ |
| 726 | if (pgoff + ((vma->vm_end - vma->vm_start) >> PAGE_SHIFT) < pgoff) | 727 | if (pgoff + vma_pages(vma) < pgoff) |
| 727 | return -EOVERFLOW; | 728 | return -EOVERFLOW; |
| 728 | 729 | ||
| 729 | /* check for overflowing the buffer's size */ | 730 | /* check for overflowing the buffer's size */ |
| 730 | if (pgoff + ((vma->vm_end - vma->vm_start) >> PAGE_SHIFT) > | 731 | if (pgoff + vma_pages(vma) > |
| 731 | dmabuf->size >> PAGE_SHIFT) | 732 | dmabuf->size >> PAGE_SHIFT) |
| 732 | return -EINVAL; | 733 | return -EINVAL; |
| 733 | 734 | ||
