Re: [PATCH AUTOSEL 4.9 20/87] fs: Make splice() and tee() take into account O_NONBLOCK flag on pipes

From: Slavomir Kaslev
Date: Thu Mar 28 2019 - 11:37:54 EST


On Wed, 2019-03-27 at 14:19 -0400, Sasha Levin wrote:
> From: Slavomir Kaslev <kaslevs@xxxxxxxxxx>
>
> [ 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