diff --git a/fs/pipe.c b/fs/pipe.c index 82fede0f2111..9efeb86eaac5 100644 --- a/fs/pipe.c +++ b/fs/pipe.c @@ -359,6 +359,8 @@ pipe_read(struct kiocb *iocb, struct iov_iter *to) ret = -EAGAIN; break; } + if (signal_pending(current) && pipe_full(pipe->head, pipe->tail, pipe->max_usage)) + wake_writer = true; mutex_unlock(&pipe->mutex); /*