In case of kvcalloc failure, ww_mutex should be released
and BO's GEM reference should be dropped as well.

Signed-off-by: Shiwu Zhang <[email protected]>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
index a93c64732bf4..b5fa4b0affc6 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
@@ -1261,8 +1261,10 @@ int amdgpu_gem_op_ioctl(struct drm_device *dev, void 
*data,
                 * be retried.
                 */
                vm_entries = kvcalloc(args->num_entries, sizeof(*vm_entries), 
GFP_KERNEL);
-               if (!vm_entries)
-                       return -ENOMEM;
+               if (!vm_entries) {
+                       r = -ENOMEM;
+                       goto out_exec;
+               }
 
                amdgpu_vm_bo_va_for_each_valid_mapping(bo_va, mapping) {
                        if (num_mappings < args->num_entries) {
-- 
2.43.0

Reply via email to