]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
drm/amdgpu: Actually check flags for all context ops.
authorBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Tue, 6 Aug 2024 20:27:32 +0000 (22:27 +0200)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 13 Aug 2024 17:03:57 +0000 (13:03 -0400)
Missing validation ...

Checked libdrm and it clears all the structs, so we should be
safe to just check everything.

Signed-off-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
(cherry picked from commit c6b86421f1f9ddf9d706f2453159813ee39d0cf9)
Cc: stable@vger.kernel.org
drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c

index 5cb33ac99f7089fb81c4954d8cbb6c434c713be6..c43d1b6e5d66b283056d672f17cec756ee265ca1 100644 (file)
@@ -685,16 +685,24 @@ int amdgpu_ctx_ioctl(struct drm_device *dev, void *data,
 
        switch (args->in.op) {
        case AMDGPU_CTX_OP_ALLOC_CTX:
+               if (args->in.flags)
+                       return -EINVAL;
                r = amdgpu_ctx_alloc(adev, fpriv, filp, priority, &id);
                args->out.alloc.ctx_id = id;
                break;
        case AMDGPU_CTX_OP_FREE_CTX:
+               if (args->in.flags)
+                       return -EINVAL;
                r = amdgpu_ctx_free(fpriv, id);
                break;
        case AMDGPU_CTX_OP_QUERY_STATE:
+               if (args->in.flags)
+                       return -EINVAL;
                r = amdgpu_ctx_query(adev, fpriv, id, &args->out);
                break;
        case AMDGPU_CTX_OP_QUERY_STATE2:
+               if (args->in.flags)
+                       return -EINVAL;
                r = amdgpu_ctx_query2(adev, fpriv, id, &args->out);
                break;
        case AMDGPU_CTX_OP_GET_STABLE_PSTATE: