|
@@ -2407,7 +2407,6 @@ static ssize_t generic_perform_write(struct file *file,
|
|
iov_iter_count(i));
|
|
iov_iter_count(i));
|
|
|
|
|
|
again:
|
|
again:
|
|
-
|
|
|
|
/*
|
|
/*
|
|
* Bring in the user page that we will copy from _first_.
|
|
* Bring in the user page that we will copy from _first_.
|
|
* Otherwise there's a nasty deadlock on copying from the
|
|
* Otherwise there's a nasty deadlock on copying from the
|
|
@@ -2463,7 +2462,10 @@ again:
|
|
written += copied;
|
|
written += copied;
|
|
|
|
|
|
balance_dirty_pages_ratelimited(mapping);
|
|
balance_dirty_pages_ratelimited(mapping);
|
|
-
|
|
|
|
|
|
+ if (fatal_signal_pending(current)) {
|
|
|
|
+ status = -EINTR;
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
} while (iov_iter_count(i));
|
|
} while (iov_iter_count(i));
|
|
|
|
|
|
return written ? written : status;
|
|
return written ? written : status;
|