All of lore.kernel.org
 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 07/10] ioctl_userfaultfd.2: correct and update UFFDIO_API ioctl error codes
Date: Tue, 19 Sep 2023 12:02:03 -0700	[thread overview]
Message-ID: <20230919190206.388896-8-axelrasmussen@google.com> (raw)
In-Reply-To: <20230919190206.388896-1-axelrasmussen@google.com>

First, it is not correct that repeated UFFDIO_API calls result in
EINVAL. This is true *if both calls enable features*, but in the case
where we're doing a two-step feature detection handshake, the kernel
explicitly expects 2 calls (one with no features set). So, correct this
description.

Then, some new error cases have been added to the kernel recently, and
the man page wasn't updated to note these. So, add in descriptions of
these new error cases.

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

diff --git a/man2/ioctl_userfaultfd.2 b/man2/ioctl_userfaultfd.2
index 53b1f473f..1aa9654be 100644
--- a/man2/ioctl_userfaultfd.2
+++ b/man2/ioctl_userfaultfd.2
@@ -280,17 +280,31 @@ refers to an address that is outside the calling process's
 accessible address space.
 .TP
 .B EINVAL
-The userfaultfd has already been enabled by a previous
-.B UFFDIO_API
-operation.
-.TP
-.B EINVAL
 The API version requested in the
 .I api
 field is not supported by this kernel, or the
 .I features
 field passed to the kernel includes feature bits that are not supported
 by the current kernel version.
+.TP
+.B EPERM
+The
+.B UFFD_FEATURE_EVENT_FORK
+feature was enabled,
+but the calling process doesn't have the
+.B CAP_SYS_PTRACE
+capability.
+.TP
+.B EINVAL
+A previous
+.B UFFDIO_API
+call already enabled one or more features for this userfaultfd.
+Calling
+.B UFFDIO_API
+twice,
+the first time with no features set,
+is explicitly allowed
+as per the two-step feature detection handshake.
 .\" FIXME In the above error case, the returned 'uffdio_api' structure is
 .\" zeroed out. Why is this done? This should be explained in the manual page.
 .\"
-- 
2.42.0.459.ge4e396fd5e-goog


  parent reply	other threads:[~2023-09-19 19:02 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-19 19:01 [PATCH 00/10] userfaultfd man page updates Axel Rasmussen
2023-09-19 19:01 ` [PATCH 01/10] userfaultfd.2: briefly mention two-step feature handshake process Axel Rasmussen
2023-09-25 23:26   ` Alejandro Colomar
2023-10-09  8:38   ` Mike Rapoport
2023-09-19 19:01 ` [PATCH 02/10] userfaultfd.2: reword to account for new fault resolution ioctls Axel Rasmussen
2023-09-25 23:29   ` Alejandro Colomar
2023-10-09  8:39   ` Mike Rapoport
2023-09-19 19:01 ` [PATCH 03/10] userfaultfd.2: comment on feature detection in the example program Axel Rasmussen
2023-09-25 23:32   ` Alejandro Colomar
2023-10-09  8:40   ` Mike Rapoport
2023-09-19 19:02 ` [PATCH 04/10] ioctl_userfaultfd.2: fix a few trivial mistakes Axel Rasmussen
2023-09-25 23:37   ` Alejandro Colomar
2023-09-19 19:02 ` [PATCH 05/10] ioctl_userfaultfd.2: describe two-step feature handshake Axel Rasmussen
2023-09-25 23:44   ` Alejandro Colomar
2023-10-09  8:42   ` Mike Rapoport
2023-10-09 10:58     ` Alejandro Colomar
2023-09-19 19:02 ` [PATCH 06/10] ioctl_userfaultfd.2: describe missing UFFDIO_API feature flags Axel Rasmussen
2023-09-25 23:50   ` Alejandro Colomar
2023-10-09  8:45   ` Mike Rapoport
2023-10-09 10:49     ` Alejandro Colomar
2023-09-19 19:02 ` Axel Rasmussen [this message]
2023-09-25 23:52   ` [PATCH 07/10] ioctl_userfaultfd.2: correct and update UFFDIO_API ioctl error codes Alejandro Colomar
2023-10-09  8:49     ` Mike Rapoport
2023-10-09 11:01       ` Alejandro Colomar
2023-09-19 19:02 ` [PATCH 08/10] ioctl_userfaultfd.2: clarify the state of the uffdio_api structure on error Axel Rasmussen
2023-09-25 23:56   ` Alejandro Colomar
2023-09-26 17:58     ` Axel Rasmussen
2023-10-09  9:03   ` Mike Rapoport
2023-09-19 19:02 ` [PATCH 09/10] ioctl_userfaultfd.2: fix / update UFFDIO_REGISTER error code list Axel Rasmussen
2023-09-19 19:02 ` [PATCH 10/10] ioctl_userfaultfd.2: document new UFFDIO_POISON ioctl Axel Rasmussen
2023-10-09  9:09   ` Mike Rapoport
2023-10-10 17:13     ` Axel Rasmussen

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=20230919190206.388896-8-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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.