diff options
| author | Thomas Gleixner <tglx@linutronix.de> | 2016-01-12 11:01:12 +0100 | 
|---|---|---|
| committer | Thomas Gleixner <tglx@linutronix.de> | 2016-01-12 11:01:12 +0100 | 
| commit | 1f16f116b01c110db20ab808562c8b8bc3ee3d6e (patch) | |
| tree | 44db563f64cf5f8d62af8f99a61e2b248c44ea3a /fs/splice.c | |
| parent | 03724ac3d48f8f0e3caf1d30fa134f8fd96c94e2 (diff) | |
| parent | f9eccf24615672896dc13251410c3f2f33a14f95 (diff) | |
Merge branches 'clockevents/4.4-fixes' and 'clockevents/4.5-fixes' of http://git.linaro.org/people/daniel.lezcano/linux into timers/urgent
Pull in fixes from Daniel Lezcano:
 - Fix the vt8500 timer leading to a system lock up when dealing with too
   small delta (Roman Volkov)
 - Select the CLKSRC_MMIO when the fsl_ftm_timer is enabled with COMPILE_TEST
   (Daniel Lezcano)
 - Prevent to compile timers using the 'iomem' API when the architecture has
   not HAS_IOMEM set (Richard Weinberger)
Diffstat (limited to 'fs/splice.c')
| -rw-r--r-- | fs/splice.c | 8 | 
1 files changed, 8 insertions, 0 deletions
diff --git a/fs/splice.c b/fs/splice.c index 801c21cd77fe..4cf700d50b40 100644 --- a/fs/splice.c +++ b/fs/splice.c @@ -809,6 +809,13 @@ static int splice_from_pipe_feed(struct pipe_inode_info *pipe, struct splice_des   */  static int splice_from_pipe_next(struct pipe_inode_info *pipe, struct splice_desc *sd)  { +	/* +	 * Check for signal early to make process killable when there are +	 * always buffers available +	 */ +	if (signal_pending(current)) +		return -ERESTARTSYS; +  	while (!pipe->nrbufs) {  		if (!pipe->writers)  			return 0; @@ -884,6 +891,7 @@ ssize_t __splice_from_pipe(struct pipe_inode_info *pipe, struct splice_desc *sd,  	splice_from_pipe_begin(sd);  	do { +		cond_resched();  		ret = splice_from_pipe_next(pipe, sd);  		if (ret > 0)  			ret = splice_from_pipe_feed(pipe, sd, actor);  | 
