summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunwei Zhang <Jerry.Zhang@amd.com>2018-07-16 10:53:43 +0800
committerJunwei Zhang <Jerry.Zhang@amd.com>2018-07-16 17:53:16 +0800
commitfc9a53946d9c107a36b79de3dd1a4eac43f13f3f (patch)
treed402b9453db2b70c204257d9174eda2cff1a0d4a
parent28756ed597d51b3ceb79c29387a40c51ea353e30 (diff)
drm/scheduler: add NULL pointer check for run queue (v2)
To check rq pointer before adding entity into it. That avoids NULL pointer access in some case. v2: move the check to caller Suggested-by: Christian König <christian.koenig@amd.com> Signed-off-by: Junwei Zhang <Jerry.Zhang@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com>
-rw-r--r--drivers/gpu/drm/scheduler/gpu_scheduler.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/gpu/drm/scheduler/gpu_scheduler.c b/drivers/gpu/drm/scheduler/gpu_scheduler.c
index 16bf446aa6b3..dac71e3b4514 100644
--- a/drivers/gpu/drm/scheduler/gpu_scheduler.c
+++ b/drivers/gpu/drm/scheduler/gpu_scheduler.c
@@ -547,6 +547,11 @@ void drm_sched_entity_push_job(struct drm_sched_job *sched_job,
if (first) {
/* Add the entity to the run queue */
spin_lock(&entity->rq_lock);
+ if (!entity->rq) {
+ DRM_ERROR("Trying to push to a killed entity\n");
+ spin_unlock(&entity->rq_lock);
+ return;
+ }
drm_sched_rq_add_entity(entity->rq, entity);
spin_unlock(&entity->rq_lock);
drm_sched_wakeup(sched);