drm/amdgpu: fix NULL pointer in amdgpu_reset_get_desc
authorEric Huang <jinhuieric.huang@amd.com>
Thu, 6 Jun 2024 15:37:20 +0000 (11:37 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 14 Jun 2024 20:15:58 +0000 (16:15 -0400)
amdgpu_job_ring may return NULL, which causes kernel NULL
pointer error, using another way to print ring name instead
of ring->name.

Suggested-by: Lijo Lazar <Lijo.Lazar@amd.com>
Signed-off-by: Eric Huang <jinhuieric.huang@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Lijo Lazar <lijo.lazar@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_reset.c

index 9deb41d61e8d1d0cde363c4181441923a4de719a..66c1a868c0e16b779bf237f463936f43f2115d70 100644 (file)
@@ -164,16 +164,14 @@ void amdgpu_device_unlock_reset_domain(struct amdgpu_reset_domain *reset_domain)
 void amdgpu_reset_get_desc(struct amdgpu_reset_context *rst_ctxt, char *buf,
                           size_t len)
 {
-       struct amdgpu_ring *ring;
-
        if (!buf || !len)
                return;
 
        switch (rst_ctxt->src) {
        case AMDGPU_RESET_SRC_JOB:
                if (rst_ctxt->job) {
-                       ring = amdgpu_job_ring(rst_ctxt->job);
-                       snprintf(buf, len, "job hang on ring:%s", ring->name);
+                       snprintf(buf, len, "job hang on ring:%s",
+                                rst_ctxt->job->base.sched->name);
                } else {
                        strscpy(buf, "job hang", len);
                }