瀏覽代碼

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>
Christian König 10 年之前
父節點
當前提交
b8682ac253
共有 1 個文件被更改,包括 3 次插入2 次删除
  1. 3 2
      drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c

+ 3 - 2
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
 	for (i = 0; i < parser->nchunks; i++)
 	for (i = 0; i < parser->nchunks; i++)
 		drm_free_large(parser->chunks[i].kdata);
 		drm_free_large(parser->chunks[i].kdata);
 	kfree(parser->chunks);
 	kfree(parser->chunks);
-	for (i = 0; i < parser->num_ibs; i++)
-		amdgpu_ib_free(parser->adev, &parser->ibs[i]);
+	if (parser->ibs)
+		for (i = 0; i < parser->num_ibs; i++)
+			amdgpu_ib_free(parser->adev, &parser->ibs[i]);
 	kfree(parser->ibs);
 	kfree(parser->ibs);
 	if (parser->uf.bo)
 	if (parser->uf.bo)
 		drm_gem_object_unreference_unlocked(&parser->uf.bo->gem_base);
 		drm_gem_object_unreference_unlocked(&parser->uf.bo->gem_base);