drm/i915: Silence the WARN if the user tries to GTT mmap an incoherent object
authorChris Wilson <chris@chris-wilson.co.uk>
Wed, 28 May 2014 15:16:41 +0000 (16:16 +0100)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Thu, 5 Jun 2014 06:52:41 +0000 (08:52 +0200)
If the user tries to mmap through the GTT an object that is marked as
snooped, we report an error rather than allow the GPU to hang the
machine. The choice of EINVAL, however, was unfortunate as we turn that
into a WARN rather than a quiet SIGBUS.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_gem.c

index 89525007925bd793d517c430e45392644fdbbf66..ea09d1a0fbd9de8b309f9d5688bf4abbb7e36321 100644 (file)
@@ -1427,7 +1427,7 @@ int i915_gem_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
 
        /* Access to snoopable pages through the GTT is incoherent. */
        if (obj->cache_level != I915_CACHE_NONE && !HAS_LLC(dev)) {
-               ret = -EINVAL;
+               ret = -EFAULT;
                goto unlock;
        }