From: Al Viro <viro@zeniv.linux.org.uk>
To: Jens Axboe <axboe@kernel.dk>
Cc: "Jason A. Donenfeld" <Jason@zx2c4.com>,
Theodore Ts'o <tytso@mit.edu>, Christoph Hellwig <hch@lst.de>,
LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v4 0/3] random: convert to using iters, for Al Viro
Date: Fri, 20 May 2022 16:15:16 +0000 [thread overview]
Message-ID: <Yoe+lK8RIRbK6lDZ@zeniv-ca.linux.org.uk> (raw)
In-Reply-To: <7e78d6a7-1cc3-2408-fe91-0329f5020e77@kernel.dk>
On Fri, May 20, 2022 at 09:53:30AM -0600, Jens Axboe wrote:
> On 5/20/22 9:47 AM, Al Viro wrote:
> > On Fri, May 20, 2022 at 09:34:46AM -0600, Jens Axboe wrote:
> >
> >> I'm very sure, otherwise we're just accepting that we're breaking real
> >> world applications.
> >
> > "Breaking" as in "it used to work with earlier kernels, doesn't work with
> > recent ones"? Details, please...
>
> Yes, as in exactly that. This is what drove this addition of
> ->read_iter() for urandom. See commit:
>
> ommit 36e2c7421f02a22f71c9283e55fdb672a9eb58e7
> Author: Christoph Hellwig <hch@lst.de>
> Date: Thu Sep 3 16:22:34 2020 +0200
>
> fs: don't allow splice read/write without explicit ops
>
> related to the set_fs() changes, and now go look for any commit that
> has:
>
> Fixes: 36e2c7421f02 ("fs: don't allow splice read/write without explicit ops")
>
> in it and see that this isn't an isolated incident at all.
>
> tldr - splice from /dev/urandom used to work, and I recently got a
> report internally on an application that broke on upgrade from 5.6 to
> 5.12 exactly because it now just just -EINVAL's instead.
IIRC, Linus' position at the time had been along the lines of
"splice is not so good ABI anyway, so let's do it and fix up
the places that do get real-world complaints once such appear".
So /dev/urandom is one such place...
next prev parent reply other threads:[~2022-05-20 16:15 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-05-20 9:44 [PATCH v4 0/3] random: convert to using iters, for Al Viro Jason A. Donenfeld
2022-05-20 9:44 ` [PATCH v4 1/3] random: convert to using fops->read_iter() Jason A. Donenfeld
2022-05-20 13:37 ` Jason A. Donenfeld
2022-05-20 14:36 ` Jens Axboe
2022-05-20 14:39 ` Jason A. Donenfeld
2022-05-20 15:12 ` Al Viro
2022-05-20 9:44 ` [PATCH v4 2/3] random: convert to using fops->write_iter() Jason A. Donenfeld
2022-05-20 9:44 ` [PATCH v4 3/3] random: wire up fops->splice_{read,write}_iter() Jason A. Donenfeld
2022-05-20 12:16 ` [PATCH v4 0/3] random: convert to using iters, for Al Viro Jens Axboe
2022-05-20 15:25 ` Jason A. Donenfeld
2022-05-20 15:34 ` Jens Axboe
2022-05-20 15:39 ` Jason A. Donenfeld
2022-05-20 15:44 ` Jens Axboe
2022-05-20 15:55 ` Jason A. Donenfeld
2022-05-20 15:58 ` Jens Axboe
2022-05-20 16:03 ` Jason A. Donenfeld
2022-05-20 16:06 ` Jens Axboe
2022-05-20 15:46 ` Jason A. Donenfeld
2022-05-20 15:51 ` Jens Axboe
2022-05-20 15:58 ` Jason A. Donenfeld
2022-05-20 16:00 ` Jens Axboe
2022-05-20 15:47 ` Al Viro
2022-05-20 15:53 ` Jens Axboe
2022-05-20 16:15 ` Al Viro [this message]
2022-05-20 16:24 ` Jens Axboe
2022-05-20 16:39 ` Jason A. Donenfeld
2022-05-20 16:41 ` Jens Axboe
2022-05-24 4:52 ` Eric W. Biederman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Yoe+lK8RIRbK6lDZ@zeniv-ca.linux.org.uk \
--to=viro@zeniv.linux.org.uk \
--cc=Jason@zx2c4.com \
--cc=axboe@kernel.dk \
--cc=hch@lst.de \
--cc=linux-kernel@vger.kernel.org \
--cc=tytso@mit.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox