Re: [PATCH 05/14] fs: don't allow kernel reads and writes without iter ops

From: Linus Torvalds
Date: Fri Oct 09 2020 - 21:12:19 EST


On Fri, Oct 9, 2020 at 3:06 PM Eric Biggers <ebiggers@xxxxxxxxxx> wrote:
>
> It's a bit unintuitive that ppos=NULL means "use pos 0", not "use file->f_pos".

That's not at all what it means.

A NULL ppos means "this has no position at all", and is what we use
for FMODE_STREAM file descriptors (ie sockets, pipes, etc).

It also means that we don't do the locking for position updates.

The fact that "ki_pos" gets set to zero is just because it needs to be
_something_. It shouldn't actually ever be used for stream devices.

Linus