linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Axel Rasmussen <axelrasmussen@google.com>
To: Alejandro Colomar <alx@kernel.org>, Peter Xu <peterx@redhat.com>
Cc: linux-man@vger.kernel.org, linux-mm@kvack.org,
	 linux-kernel@vger.kernel.org,
	Axel Rasmussen <axelrasmussen@google.com>
Subject: [PATCH v2 4/5] ioctl_userfaultfd.2: fix / update UFFDIO_REGISTER error code list
Date: Tue,  3 Oct 2023 12:45:46 -0700	[thread overview]
Message-ID: <20231003194547.2237424-5-axelrasmussen@google.com> (raw)
In-Reply-To: <20231003194547.2237424-1-axelrasmussen@google.com>

The list of error codes in the man page was out of date with respect to
the current state of the kernel. Some errors were partially /
incorrectly described.

Update the error code listing, so it matches the current state of the
kernel, and correctly describes all the errors.

Signed-off-by: Axel Rasmussen <axelrasmussen@google.com>
---
 man2/ioctl_userfaultfd.2 | 37 +++++++++++++++++++++----------------
 1 file changed, 21 insertions(+), 16 deletions(-)

diff --git a/man2/ioctl_userfaultfd.2 b/man2/ioctl_userfaultfd.2
index 2ee6a0532..95d69f773 100644
--- a/man2/ioctl_userfaultfd.2
+++ b/man2/ioctl_userfaultfd.2
@@ -388,12 +388,6 @@ On error, \-1 is returned and
 .I errno
 is set to indicate the error.
 Possible errors include:
-.\" FIXME Is the following error list correct?
-.\"
-.TP
-.B EBUSY
-A mapping in the specified range is registered with another
-userfaultfd object.
 .TP
 .B EFAULT
 .I argp
@@ -408,21 +402,32 @@ field; or the
 field was zero.
 .TP
 .B EINVAL
-There is no mapping in the specified address range.
-.TP
-.B EINVAL
+The specified address range was invalid.
+More specifically,
+no mapping exists in the given range,
+or the mapping that exists there is invalid
+(e.g. unsupported type of memory),
+or the range values (
 .I range.start
 or
 .I range.len
-is not a multiple of the system page size; or,
+) are not multiples of the relevant page size,
+or
 .I range.len
-is zero; or these fields are otherwise invalid.
+is zero.
 .TP
-.B EINVAL
-There as an incompatible mapping in the specified address range.
-.\" Mike Rapoport:
-.\" ENOMEM if the process is exiting and the
-.\" mm_struct has gone by the time userfault grabs it.
+.B ENOMEM
+The process is exiting,
+and its address space has already been torn down
+when userfaultfd attempts to reference it.
+.TP
+.B EPERM
+The userfaultfd would allow writing to a file backing the mapping,
+but the calling process lacks such write permissions.
+.TP
+.B EBUSY
+A mapping in the specified range is registered with another
+userfaultfd object.
 .SS UFFDIO_UNREGISTER
 (Since Linux 4.3.)
 Unregister a memory address range from userfaultfd.
-- 
2.42.0.609.gbb76f46606-goog



  parent reply	other threads:[~2023-10-03 19:46 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-03 19:45 [PATCH v2 0/5] userfaultfd man page updates Axel Rasmussen
2023-10-03 19:45 ` [PATCH v2 1/5] ioctl_userfaultfd.2: describe two-step feature handshake Axel Rasmussen
2023-10-08 22:23   ` Alejandro Colomar
2023-10-03 19:45 ` [PATCH v2 2/5] ioctl_userfaultfd.2: correct and update UFFDIO_API ioctl error codes Axel Rasmussen
2023-10-08 22:25   ` Alejandro Colomar
2023-10-03 19:45 ` [PATCH v2 3/5] ioctl_userfaultfd.2: clarify the state of the uffdio_api structure on error Axel Rasmussen
2023-10-08 21:52   ` Alejandro Colomar
2023-10-09  9:12     ` Mike Rapoport
2023-10-03 19:45 ` Axel Rasmussen [this message]
2023-10-08 22:06   ` [PATCH v2 4/5] ioctl_userfaultfd.2: fix / update UFFDIO_REGISTER error code list Alejandro Colomar
2023-10-17 21:23     ` Guillem Jover
2023-10-17 21:42       ` Alejandro Colomar
2023-10-17 22:14         ` Axel Rasmussen
2023-10-03 19:45 ` [PATCH v2 5/5] ioctl_userfaultfd.2: document new UFFDIO_POISON ioctl Axel Rasmussen
2023-10-08 22:23   ` Alejandro Colomar
2023-10-17 22:25     ` Axel Rasmussen
2023-10-08 22:27 ` [PATCH v2 0/5] userfaultfd man page updates Alejandro Colomar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20231003194547.2237424-5-axelrasmussen@google.com \
    --to=axelrasmussen@google.com \
    --cc=alx@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-man@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=peterx@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).