2022-05-20 09:00:17

by Jens Axboe

[permalink] [raw]
Subject: Re: [PATCHSET 0/2] Fix splice from random/urandom

On 5/19/22 5:27 PM, Jason A. Donenfeld wrote:
> Hi Jens,
>
> On Fri, May 20, 2022 at 1:25 AM Jens Axboe <[email protected]> wrote:
>> I'll leave that to you :-)
>
> Alright, I'll have a look. Which one do I want here? This series adds
> splice_read/splice_write. The new thing would be sendpage? Or
> copy_file_range? Or something else?

For copying kernel memory? It's really the same thing, you just
initialize the iter as an ITER_KVEC instead. The nice thing about the
iov_iter iterator that it then hides that for you, call the same copy
in/out helpers for it.

--
Jens Axboe



2022-05-22 16:30:47

by Jason A. Donenfeld

[permalink] [raw]
Subject: Re: [PATCHSET 0/2] Fix splice from random/urandom

Hi Jens,

On Fri, May 20, 2022 at 1:57 AM Jens Axboe <[email protected]> wrote:
>
> On 5/19/22 5:27 PM, Jason A. Donenfeld wrote:
> > Hi Jens,
> >
> > On Fri, May 20, 2022 at 1:25 AM Jens Axboe <[email protected]> wrote:
> >> I'll leave that to you :-)
> >
> > Alright, I'll have a look. Which one do I want here? This series adds
> > splice_read/splice_write. The new thing would be sendpage? Or
> > copy_file_range? Or something else?
>
> For copying kernel memory? It's really the same thing, you just
> initialize the iter as an ITER_KVEC instead. The nice thing about the
> iov_iter iterator that it then hides that for you, call the same copy
> in/out helpers for it.

Err, maybe we're talking about different things? I was thinking about
the plumbing to make splice/sendfile work on non-pipes.

get_random_bytes() itself doesn't need to become iovec'd, as that has
no IO callers.

Jason