summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAshutosh Jain <ashutoshj@nvidia.com>2018-04-13 11:50:54 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2018-04-17 21:04:10 -0400
commit89ffa669b69c7e0007f4a5dc92e9abc8c71ec3c4 (patch)
treec5696e89749d24cad15f4dcea78efbfd8dfa77ce
parentcc9f3d80e32c63ae003a8dc66016a035100a6359 (diff)
gpu: nvgpu: Fix map buffer overflow handling.
Currently in case of overflow in buffer mapping the dma buf fd reference is not freed which causes the handle to remain allocated forever. Bug 200398767 Change-Id: Id3bf88636b927d75595f8a8b9f240b6717bf3b57 Signed-off-by: Ashutosh Jain <ashutoshj@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1694864 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Richard Zhao <rizhao@nvidia.com> Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com> Reviewed-by: Konsta Holtta <kholtta@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
-rw-r--r--drivers/gpu/nvgpu/common/linux/vm.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/common/linux/vm.c b/drivers/gpu/nvgpu/common/linux/vm.c
index 52b2f30c..75572b93 100644
--- a/drivers/gpu/nvgpu/common/linux/vm.c
+++ b/drivers/gpu/nvgpu/common/linux/vm.c
@@ -285,6 +285,7 @@ int nvgpu_vm_map_buffer(struct vm_gk20a *vm,
285 nvgpu_err(g, 285 nvgpu_err(g,
286 "buf size %llx < (offset(%llx) + map_size(%llx))\n", 286 "buf size %llx < (offset(%llx) + map_size(%llx))\n",
287 (u64)dmabuf->size, buffer_offset, mapping_size); 287 (u64)dmabuf->size, buffer_offset, mapping_size);
288 dma_buf_put(dmabuf);
288 return -EINVAL; 289 return -EINVAL;
289 } 290 }
290 291