On Wed, 2019-03-27 at 14:19 -0400, Sasha Levin wrote:
From: Slavomir Kaslev kaslevs@vmware.com
[ Upstream commit ee5e001196d1345b8fee25925ff5f1d67936081e ]
The current implementation of splice() and tee() ignores O_NONBLOCK set on pipe file descriptors and checks only the SPLICE_F_NONBLOCK flag for blocking on pipe arguments. This is inconsistent since splice()-ing from/to non-pipe file descriptors does take O_NONBLOCK into consideration.
Fix this by promoting O_NONBLOCK, when set on a pipe, to SPLICE_F_NONBLOCK.
Hey Sasha,
I don't think that this patch should be merged to stable kernels. It's more of a feature rather than a bug/regression fix and it changes how splice() has been working from day one.
Can you please drop it from the stable queues?
Thanks,
-- Slavi