splice: reinstate SIGPIPE/EPIPE handling
Commit 8924feff ("splice: lift pipe_lock out of splice_to_pipe()") caused a regression when there were no more readers left on a pipe that was being spliced into: rather than the expected SIGPIPE and -EPIPE return value, the writer would end up waiting forever for space to free up (which obviously was not going to happen with no readers around). Fixes: 8924feff ("splice: lift pipe_lock out of splice_to_pipe()") Reported-and-tested-by: NAndreas Schwab <schwab@linux-m68k.org> Debugged-by: NAl Viro <viro@zeniv.linux.org.uk> Cc: stable@kernel.org # v4.9 Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
Showing
想要评论请 注册 或 登录