Shawn, This doesn't look right to me. In particular, "% PAGE_SIZE" is certainly wrong. Can you point me in at your reasoning (references in the kernel code) that lead you to this conclusion? Thanks, Michael On Mon, 6 May 2019 at 00:41, Shawn Landden <shawn@xxxxxxx> wrote: > > --- > man2/read.2 | 4 ++++ > man2/write.2 | 4 ++++ > 2 files changed, 8 insertions(+) > > diff --git a/man2/read.2 b/man2/read.2 > index 6e5123fa4..850dead86 100644 > --- a/man2/read.2 > +++ b/man2/read.2 > @@ -151,10 +151,14 @@ and the wrong size buffer was given to > .BR read (); > see > .BR timerfd_create (2) > for further information. > .TP > +.B EINVAL > +.\" MAX_RW_COUNT in include/linux/fs.h > +The read amount is greater than INT_MAX % PAGE_SIZE. > +.TP > .B EIO > I/O error. > This will happen for example when the process is in a > background process group, tries to read from its controlling terminal, > and either it is ignoring or blocking > diff --git a/man2/write.2 b/man2/write.2 > index 4df56cd48..32b17cdc0 100644 > --- a/man2/write.2 > +++ b/man2/write.2 > @@ -190,10 +190,14 @@ flag, and either the address specified in > .IR buf , > the value specified in > .IR count , > or the file offset is not suitably aligned. > .TP > +.B EINVAL > +.\" MAX_RW_COUNT in include/linux/fs.h > +The read amount is greater than INT_MAX % PAGE_SIZE. > +.TP > .B EIO > A low-level I/O error occurred while modifying the inode. > This error may relate to the write-back of data written by an earlier > .BR write (2), > which may have been issued to a different file descriptor on > -- > 2.20.1 > -- Michael Kerrisk Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/ Linux/UNIX System Programming Training: http://man7.org/training/