Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/amdgpu: Actually check flags for all context ops.

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

authored by

Bas Nieuwenhuizen and committed by
Alex Deucher
0573a1e2 e6c6bd62

+8
+8
drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c
··· 685 685 686 686 switch (args->in.op) { 687 687 case AMDGPU_CTX_OP_ALLOC_CTX: 688 + if (args->in.flags) 689 + return -EINVAL; 688 690 r = amdgpu_ctx_alloc(adev, fpriv, filp, priority, &id); 689 691 args->out.alloc.ctx_id = id; 690 692 break; 691 693 case AMDGPU_CTX_OP_FREE_CTX: 694 + if (args->in.flags) 695 + return -EINVAL; 692 696 r = amdgpu_ctx_free(fpriv, id); 693 697 break; 694 698 case AMDGPU_CTX_OP_QUERY_STATE: 699 + if (args->in.flags) 700 + return -EINVAL; 695 701 r = amdgpu_ctx_query(adev, fpriv, id, &args->out); 696 702 break; 697 703 case AMDGPU_CTX_OP_QUERY_STATE2: 704 + if (args->in.flags) 705 + return -EINVAL; 698 706 r = amdgpu_ctx_query2(adev, fpriv, id, &args->out); 699 707 break; 700 708 case AMDGPU_CTX_OP_GET_STABLE_PSTATE: