Re: [PATCH] drm/i915: Fix EIO/wedged handling in gem fault handler

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Sep 04, 2014 at 09:11:23AM +0200, Daniel Vetter wrote:
> In
> 
> commit 1f83fee08d625f8d0130f9fe5ef7b17c2e022f3c
> Author: Daniel Vetter <daniel.vetter@xxxxxxxx>
> Date:   Thu Nov 15 17:17:22 2012 +0100
> 
>     drm/i915: clear up wedged transitions
> 
> I've accidentally inverted the EIO/wedged handling in the fault
> handler: We want to return the EIO as a SIGBUS only if it's not
> because of the gpu having died, to prevent userspace from unduly
> dying.
> 
> In my defence the comment right above is completely misleading, so fix
> both.
> 
> v2: Drop the WARN_ON, it's not actually a bug to e.g. receive an -EIO
> when swap-in fails.

You mean drop the WARN_ON and the if...
 
> Reported-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>
> Cc: stable@xxxxxxxxxxxxxxx
> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx>
> ---
>  drivers/gpu/drm/i915/i915_gem.c | 9 ++++++---
>  1 file changed, 6 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
> index 6c685708a516..247ad18b8c3e 100644
> --- a/drivers/gpu/drm/i915/i915_gem.c
> +++ b/drivers/gpu/drm/i915/i915_gem.c
> @@ -1596,9 +1596,12 @@ unlock:
>  out:
>  	switch (ret) {
>  	case -EIO:
> -		/* If this -EIO is due to a gpu hang, give the reset code a
> -		 * chance to clean up the mess. Otherwise return the proper
> -		 * SIGBUS. */
> +		/*
> +		 * We eat errors when the gpu is terminally wedged to avoid
> +		 * userspace unduly crashing (gl has no provisions for mmaps to
> +		 * fail). But any other -EIO isn't ours (e.g. swap in failure)
> +		 * and so needs to be reported.
> +		 */
>  		if (i915_terminally_wedged(&dev_priv->gpu_error)) {

Because you didn't actually make the change you set out to do :)
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]