OSDN Git Service

drm/amdgpu: check return status before using stable_pstate
authorTom Rix <trix@redhat.com>
Mon, 14 Feb 2022 18:22:24 +0000 (10:22 -0800)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 16 Feb 2022 21:44:40 +0000 (16:44 -0500)
Clang static analysis reports this problem
amdgpu_ctx.c:616:26: warning: Assigned value is garbage
  or undefined
  args->out.pstate.flags = stable_pstate;
                         ^ ~~~~~~~~~~~~~
amdgpu_ctx_stable_pstate can fail without setting
stable_pstate.  So check.

Fixes: 8cda7a4f96e4 ("drm/amdgpu/UAPI: add new CTX OP to get/set stable pstates")
Signed-off-by: Tom Rix <trix@redhat.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c

index 1c72f60..f522b52 100644 (file)
@@ -613,7 +613,8 @@ int amdgpu_ctx_ioctl(struct drm_device *dev, void *data,
                if (args->in.flags)
                        return -EINVAL;
                r = amdgpu_ctx_stable_pstate(adev, fpriv, id, false, &stable_pstate);
-               args->out.pstate.flags = stable_pstate;
+               if (!r)
+                       args->out.pstate.flags = stable_pstate;
                break;
        case AMDGPU_CTX_OP_SET_STABLE_PSTATE:
                if (args->in.flags & ~AMDGPU_CTX_STABLE_PSTATE_FLAGS_MASK)