Looks like PAGE_MASK is in <sys/user.h> --- man2/read.2 | 8 ++++++++ man2/write.2 | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/man2/read.2 b/man2/read.2 index 6e5123fa4..1ca696af9 100644 --- a/man2/read.2 +++ b/man2/read.2 @@ -151,10 +151,18 @@ 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 +.B MAX_RW_COUNT, +which is +.B INT_MAX +rounded down to the page size (INT_MAX & ~PAGE_MASK). +.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..1cdf04436 100644 --- a/man2/write.2 +++ b/man2/write.2 @@ -190,10 +190,18 @@ 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 write amount is greater than +.B MAX_RW_COUNT, +which is +.B INT_MAX +rounded down to the page size (INT_MAX & ~PAGE_MASK). +.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