aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h
diff options
context:
space:
mode:
authorPierre-Eric Pelloux-Prayer <[email protected]>2024-12-06 12:17:45 +0000
committerAlex Deucher <[email protected]>2024-12-18 17:16:35 +0000
commit2ae520cb12831d264ceb97c61f72c59d33c0dbd7 (patch)
treed8d927a0c8e39a9ce2f6a8453a60cbce008efaf3 /drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h
parentdrm/amd/display: use swap() in update_phy_id_mapping() (diff)
downloadkernel-2ae520cb12831d264ceb97c61f72c59d33c0dbd7.tar.gz
kernel-2ae520cb12831d264ceb97c61f72c59d33c0dbd7.zip
drm/amdgpu: don't access invalid sched
Since 2320c9e6a768 ("drm/sched: memset() 'job' in drm_sched_job_init()") accessing job->base.sched can produce unexpected results as the initialisation of (*job)->base.sched done in amdgpu_job_alloc is overwritten by the memset. This commit fixes an issue when a CS would fail validation and would be rejected after job->num_ibs is incremented. In this case, amdgpu_ib_free(ring->adev, ...) will be called, which would crash the machine because the ring value is bogus. To fix this, pass a NULL pointer to amdgpu_ib_free(): we can do this because the device is actually not used in this function. The next commit will remove the ring argument completely. Fixes: 2320c9e6a768 ("drm/sched: memset() 'job' in drm_sched_job_init()") Signed-off-by: Pierre-Eric Pelloux-Prayer <[email protected]> Reviewed-by: Alex Deucher <[email protected]> Reviewed-by: Christian König <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h')
0 files changed, 0 insertions, 0 deletions