[PATCH v3] drm/amdgpu: add a missing lock for AMDGPU_SCHED

Alex Deucher alexdeucher at gmail.com
Thu Apr 27 18:50:57 UTC 2023


Applied.  Thanks!

Alex

On Wed, Apr 26, 2023 at 6:55 PM Chia-I Wu <olvaffe at gmail.com> wrote:
>
> mgr->ctx_handles should be protected by mgr->lock.
>
> v2: improve commit message
> v3: add a Fixes tag
>
> Signed-off-by: Chia-I Wu <olvaffe at gmail.com>
> Reviewed-by: Christian König <christian.koenig at amd.com>
> Fixes: 52c6a62c64fac ("drm/amdgpu: add interface for editing a foreign process's priority v3")
> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c
> index e9b45089a28a6..863b2a34b2d64 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_sched.c
> @@ -38,6 +38,7 @@ static int amdgpu_sched_process_priority_override(struct amdgpu_device *adev,
>  {
>         struct fd f = fdget(fd);
>         struct amdgpu_fpriv *fpriv;
> +       struct amdgpu_ctx_mgr *mgr;
>         struct amdgpu_ctx *ctx;
>         uint32_t id;
>         int r;
> @@ -51,8 +52,11 @@ static int amdgpu_sched_process_priority_override(struct amdgpu_device *adev,
>                 return r;
>         }
>
> -       idr_for_each_entry(&fpriv->ctx_mgr.ctx_handles, ctx, id)
> +       mgr = &fpriv->ctx_mgr;
> +       mutex_lock(&mgr->lock);
> +       idr_for_each_entry(&mgr->ctx_handles, ctx, id)
>                 amdgpu_ctx_priority_override(ctx, priority);
> +       mutex_unlock(&mgr->lock);
>
>         fdput(f);
>         return 0;
> --
> 2.40.1.495.gc816e09b53d-goog
>


More information about the dri-devel mailing list