Chris Wilson <ch...@chris-wilson.co.uk> writes:

> When a user context is closed, it's file_priv backpointer is replaced by
> ERR_PTR(-EBADF); be careful not to chase this invalid pointer after a
> hang and a GPU reset.
>
> Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk>
> Fixes: b083a0870c79 ("drm/i915: Add per client max context ban limit")
> Cc: Mika Kuoppala <mika.kuopp...@intel.com>

Reviewed-by: Mika Kuoppala <mika.kuopp...@intel.com>

> ---
>  drivers/gpu/drm/i915/i915_gem.c | 12 ++++--------
>  1 file changed, 4 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
> index b850e66c2f83..d75196b86693 100644
> --- a/drivers/gpu/drm/i915/i915_gem.c
> +++ b/drivers/gpu/drm/i915/i915_gem.c
> @@ -2647,16 +2647,12 @@ static void i915_gem_context_mark_guilty(struct 
> i915_gem_context *ctx)
>                        ctx->name, ctx->ban_score,
>                        yesno(ctx->banned));
>  
> -     if (!ctx->file_priv)
> +     if (!ctx->banned || IS_ERR_OR_NULL(ctx->file_priv))
>               return;
>  
> -     if (ctx->banned) {
> -             ctx->file_priv->context_bans++;
> -
> -             DRM_DEBUG_DRIVER("client %s has has %d context banned\n",
> -                              ctx->name,
> -                              ctx->file_priv->context_bans);
> -     }
> +     ctx->file_priv->context_bans++;
> +     DRM_DEBUG_DRIVER("client %s has had %d context banned\n",
> +                      ctx->name, ctx->file_priv->context_bans);
>  }
>  
>  static void i915_gem_context_mark_innocent(struct i915_gem_context *ctx)
> -- 
> 2.10.2
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to