diff options
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/mm_gk20a.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/mm_gk20a.c b/drivers/gpu/nvgpu/gk20a/mm_gk20a.c index fab80e69..c4dfb1b3 100644 --- a/drivers/gpu/nvgpu/gk20a/mm_gk20a.c +++ b/drivers/gpu/nvgpu/gk20a/mm_gk20a.c | |||
@@ -1997,6 +1997,13 @@ int nvgpu_vm_map_buffer(struct vm_gk20a *vm, | |||
1997 | return PTR_ERR(dmabuf); | 1997 | return PTR_ERR(dmabuf); |
1998 | } | 1998 | } |
1999 | 1999 | ||
2000 | if (dmabuf->size < (buffer_offset + mapping_size)) { | ||
2001 | nvgpu_err(gk20a_from_vm(vm), | ||
2002 | "buf size %llx < (offset(%llx) + map_size(%llx))\n", | ||
2003 | (u64)dmabuf->size, buffer_offset, mapping_size); | ||
2004 | return -EINVAL; | ||
2005 | } | ||
2006 | |||
2000 | err = gk20a_dmabuf_alloc_drvdata(dmabuf, dev_from_vm(vm)); | 2007 | err = gk20a_dmabuf_alloc_drvdata(dmabuf, dev_from_vm(vm)); |
2001 | if (err) { | 2008 | if (err) { |
2002 | dma_buf_put(dmabuf); | 2009 | dma_buf_put(dmabuf); |