Re: [PATCH v4 1/3] random: convert to using fops->read_iter()

From: Jason A. Donenfeld
Date: Fri May 20 2022 - 10:39:54 EST


Hi Jens,

On Fri, May 20, 2022 at 08:36:17AM -0600, Jens Axboe wrote:
> On 5/20/22 7:37 AM, Jason A. Donenfeld wrote:
> > On Fri, May 20, 2022 at 11:44:57AM +0200, Jason A. Donenfeld wrote:
> >> const struct file_operations urandom_fops = {
> >> - .read = urandom_read,
> >> + .read_iter = urandom_read_iter,
> >
> > One thing I noticed is that drivers/char/mem.c has both the .read and
> > the .read_iter functions for /dev/zero and /dev/null and such. I wonder
> > if the .read ones can be removed?
>
> I'm not sure if we have a clear "always use this if available" set of
> rules for this. Ideally we'd want it to be:
>
> 1) Use ->read_iter() if available
> 2) If not, use ->read()
>
> Might require a bit of auditing to ensure that's the case, and if we
> can say that it is, then we could clean that up too.

The only case I found where it wasn't in that order was:
https://lore.kernel.org/lkml/20220520135103.166972-1-Jason@xxxxxxxxx/

Jason