diff options
Diffstat (limited to 'mm/filemap.c')
| -rw-r--r-- | mm/filemap.c | 6 | 
1 files changed, 4 insertions, 2 deletions
diff --git a/mm/filemap.c b/mm/filemap.c index c0018f2d50e..c106d3b3cc6 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -2407,7 +2407,6 @@ static ssize_t generic_perform_write(struct file *file,  						iov_iter_count(i));  again: -  		/*  		 * Bring in the user page that we will copy from _first_.  		 * Otherwise there's a nasty deadlock on copying from the @@ -2463,7 +2462,10 @@ again:  		written += copied;  		balance_dirty_pages_ratelimited(mapping); - +		if (fatal_signal_pending(current)) { +			status = -EINTR; +			break; +		}  	} while (iov_iter_count(i));  	return written ? written : status;  |