drm/i915: make i915_gem_mmap_ioctl wait for mmap_sem killable
[cascardo/linux.git] / drivers / gpu / drm / i915 / i915_gem.c
index 233adc3..ddd1d78 100644 (file)
@@ -1754,7 +1754,10 @@ i915_gem_mmap_ioctl(struct drm_device *dev, void *data,
                struct mm_struct *mm = current->mm;
                struct vm_area_struct *vma;
 
-               down_write(&mm->mmap_sem);
+               if (down_write_killable(&mm->mmap_sem)) {
+                       drm_gem_object_unreference_unlocked(obj);
+                       return -EINTR;
+               }
                vma = find_vma(mm, addr);
                if (vma)
                        vma->vm_page_prot =