Messages in this thread | | | Date | Thu, 19 May 2022 22:05:29 +0200 | From | "Jason A. Donenfeld" <> | Subject | Re: [PATCHSET 0/2] Fix splice from random/urandom |
| |
Hi Jens,
On Thu, May 19, 2022 at 01:31:31PM -0600, Jens Axboe wrote: > Hi, > > We recently had a failure on a kernel upgrade because splice no longer > works on random/urandom. This is due to: > > 6e2c7421f02 ("fs: don't allow splice read/write without explicit ops")
Thanks for this. I'd noticed this a few months ago and assumed it has just always been that way, and hadn't gotten to looking at what was up.
I'll take a look at these patches in detail when I'm home in a few hours, but one thing maybe you can answer more easily than my digging is:
There's a lot of attention in random.c devoted to not leaving any output around on the stack or in stray buffers. The explicit use of copy_to_user() makes it clear that the output isn't being copied anywhere other than what's the user's responsibility to cleanup. I'm wondering if the switch to copy_to_iter() introduces any buffering or gotchas that you might be aware of.
Also you may need to rebase this on the random.git tree at https://git.kernel.org/pub/scm/linux/kernel/git/crng/random.git
Regards, Jason
| |