diff options
author | Ashutosh Jain <ashutoshj@nvidia.com> | 2018-04-13 11:50:54 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2018-04-17 21:04:10 -0400 |
commit | 89ffa669b69c7e0007f4a5dc92e9abc8c71ec3c4 (patch) | |
tree | c5696e89749d24cad15f4dcea78efbfd8dfa77ce | |
parent | cc9f3d80e32c63ae003a8dc66016a035100a6359 (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.c | 1 |
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 | ||