If the memory allocation fails, the reference on 'dma_buf' still needs to
be released, as already done in the other error handling path.

Fixes: f54ce9e8cbd3 ("drm/amdkfd: Let driver decide buffer size at 
AMDKFD_IOC_GET_DMABUF_INFO ioctl")
Signed-off-by: Christophe JAILLET <[email protected]>
---
Compile tested only
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
index c693c508df1a..e1afdad07c43 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c
@@ -603,8 +603,10 @@ int amdgpu_amdkfd_get_dmabuf_info(struct amdgpu_device 
*adev, int dma_buf_fd,
                if (*metadata_size <= buffer_size) {
                        *metadata_buffer = kzalloc(*metadata_size, GFP_KERNEL);
 
-                       if (!*metadata_buffer)
-                               return -ENOMEM;
+                       if (!*metadata_buffer) {
+                               r = -ENOMEM;
+                               goto out_put;
+                       }
 
                        r = amdgpu_bo_get_metadata(bo, *metadata_buffer, 
*metadata_size,
                                                   NULL, &metadata_flags);
-- 
2.54.0

Reply via email to