|
@@ -2494,11 +2494,9 @@ int vm_munmap(unsigned long start, size_t len)
|
|
int ret;
|
|
int ret;
|
|
struct mm_struct *mm = current->mm;
|
|
struct mm_struct *mm = current->mm;
|
|
|
|
|
|
- /*
|
|
|
|
- * XXX convert to down_write_killable as soon as all users are able
|
|
|
|
- * to handle the error.
|
|
|
|
- */
|
|
|
|
- down_write(&mm->mmap_sem);
|
|
|
|
|
|
+ if (down_write_killable(&mm->mmap_sem))
|
|
|
|
+ return -EINTR;
|
|
|
|
+
|
|
ret = do_munmap(mm, start, len);
|
|
ret = do_munmap(mm, start, len);
|
|
up_write(&mm->mmap_sem);
|
|
up_write(&mm->mmap_sem);
|
|
return ret;
|
|
return ret;
|