aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorChristian König <christian.koenig@amd.com>2015-06-22 08:54:32 -0400
committerAlex Deucher <alexander.deucher@amd.com>2015-06-29 11:21:49 -0400
commitb8682ac253bdab6c15678f926bdc028b2e5dc0d2 (patch)
tree75acba53248cfc2642786999930b286c9e2bbf46 /drivers
parent845253e78a7871ae87cdc5c135a914c58d6d4f64 (diff)
drm/amdgpu: fix crash on invalid CS IOCTL
Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
index f09b2cba40ca..7cd567b268fd 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
@@ -445,8 +445,9 @@ static void amdgpu_cs_parser_fini(struct amdgpu_cs_parser *parser, int error, bo
445 for (i = 0; i < parser->nchunks; i++) 445 for (i = 0; i < parser->nchunks; i++)
446 drm_free_large(parser->chunks[i].kdata); 446 drm_free_large(parser->chunks[i].kdata);
447 kfree(parser->chunks); 447 kfree(parser->chunks);
448 for (i = 0; i < parser->num_ibs; i++) 448 if (parser->ibs)
449 amdgpu_ib_free(parser->adev, &parser->ibs[i]); 449 for (i = 0; i < parser->num_ibs; i++)
450 amdgpu_ib_free(parser->adev, &parser->ibs[i]);
450 kfree(parser->ibs); 451 kfree(parser->ibs);
451 if (parser->uf.bo) 452 if (parser->uf.bo)
452 drm_gem_object_unreference_unlocked(&parser->uf.bo->gem_base); 453 drm_gem_object_unreference_unlocked(&parser->uf.bo->gem_base);