diff options
| author | Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> | 2024-08-06 22:27:32 +0200 | 
|---|---|---|
| committer | Alex Deucher <alexander.deucher@amd.com> | 2024-08-13 13:03:57 -0400 | 
| commit | 0573a1e2ea7e35bff08944a40f1adf2bb35cea61 (patch) | |
| tree | 4ac5f3473a1e31fc0530789f87f061345f29224a /drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c | |
| parent | e6c6bd6253e792cee6c5c065e106e87b9f0d9ae9 (diff) | |
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
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c | 8 | 
1 files changed, 8 insertions, 0 deletions
| diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c index 5cb33ac99f70..c43d1b6e5d66 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c @@ -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: | 
