OpenCloudOS-Kernel/drivers/gpu/drm/amd/scheduler
Nicolai Hähnle 07df04dfcf drm/amdgpu: fix race condition in amd_sched_entity_push_job
As soon as we leave the spinlock after the job has been added to the job
queue, we can no longer rely on the job's data to be available.

I have seen a null-pointer dereference due to sched == NULL in
amd_sched_wakeup via amd_sched_entity_push_job and
amd_sched_ib_submit_kernel_helper. Since the latter initializes
sched_job->sched with the address of the ring scheduler, which is
guaranteed to be non-NULL, this race appears to be a likely culprit.

Signed-off-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
Bugzilla: https://bugs.freedesktop.org/attachment.cgi?bugid=93079
Reviewed-by: Christian König <christian.koenig@amd.com>
2015-12-02 15:04:04 -05:00
..
gpu_sched_trace.h drm/amdgpu: add command submission workflow tracepoint 2015-11-16 11:05:57 -05:00
gpu_scheduler.c drm/amdgpu: fix race condition in amd_sched_entity_push_job 2015-12-02 15:04:04 -05:00
gpu_scheduler.h drm/amdgpu: optimize scheduler fence handling 2015-11-23 12:19:58 -05:00
sched_fence.c drm/amdgpu: optimize scheduler fence handling 2015-11-23 12:19:58 -05:00