diff options
author | Emily Deng <Emily.Deng@amd.com> | 2017-11-09 04:18:18 -0500 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2017-11-09 18:11:47 -0500 |
commit | cdadab89f8cc37dd6101e2bbab50037d72e0e1d0 (patch) | |
tree | a1c24f194732f66c9bb84f62d14b144bfe997b21 /drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | |
parent | ab6613b7eaefe85dadfc86025e901c55d71c0379 (diff) |
drm/amdgpu: Fix null pointer issue in amdgpu_cs_wait_any_fence
The array[first] may be null when the fence has already been signaled.
BUG: SWDEV-136239
Signed-off-by: Emily Deng <Emily.Deng@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c index f7fceb63413c..146e05f21d35 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | |||
@@ -1497,8 +1497,11 @@ out: | |||
1497 | memset(wait, 0, sizeof(*wait)); | 1497 | memset(wait, 0, sizeof(*wait)); |
1498 | wait->out.status = (r > 0); | 1498 | wait->out.status = (r > 0); |
1499 | wait->out.first_signaled = first; | 1499 | wait->out.first_signaled = first; |
1500 | /* set return value 0 to indicate success */ | 1500 | |
1501 | r = array[first]->error; | 1501 | if (array[first]) |
1502 | r = array[first]->error; | ||
1503 | else | ||
1504 | r = 0; | ||
1502 | 1505 | ||
1503 | err_free_fence_array: | 1506 | err_free_fence_array: |
1504 | for (i = 0; i < fence_count; i++) | 1507 | for (i = 0; i < fence_count; i++) |