|
@@ -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 =
|