From: "Alejandro Colomar (man-pages)" <alx.manpages@gmail.com>
To: Gabriel Krisman Bertazi <krisman@collabora.com>, mtk.manpages@gmail.com
Cc: linux-man@vger.kernel.org
Subject: Re: [PATCH] prctl.2: Document Syscall User Dispatch
Date: Sat, 19 Dec 2020 16:01:58 +0100 [thread overview]
Message-ID: <30db3ba3-34de-369d-4310-2818a5499a6d@gmail.com> (raw)
In-Reply-To: <20201219041009.3143592-1-krisman@collabora.com>
Hi Gabriel,
Thanks for the page!
Please see some comments below.
Thanks,
Alex
On 12/19/20 5:10 AM, Gabriel Krisman Bertazi wrote:
> Signed-off-by: Gabriel Krisman Bertazi <krisman@collabora.com>
> ---
> man2/prctl.2 | 93 ++++++++++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 93 insertions(+)
>
> diff --git a/man2/prctl.2 b/man2/prctl.2
> index f25f05fdb593..2e82c73c10c2 100644
> --- a/man2/prctl.2
> +++ b/man2/prctl.2
> @@ -1533,6 +1533,70 @@ For more information, see the kernel source file
> (or
> .I Documentation/arm64/sve.txt
> before Linux 5.3).
> +.TP
> +.\"commit 1446e1df9eb183fdf81c3f0715402f1d7595d4cb
> +.BR PR_SET_SYSCALL_USER_DISPATCH " (Since Linux 5.11, x86 only)"
s/Since/since
rationale:
$ grep -r '(Since Linux' man? |wc -l
48
$ grep -r '(since Linux' man? |wc -l
1286
> +.IP
> +Configure the Syscall User Dispatch mechanism for the calling thread, to
See:
$ man 7 man-pages |sed -n '/Use semantic newlines/,/^$/p'
Use semantic newlines
In the source of a manual page, new sentences should be started
on new lines, and long sentences should split into lines at
clause breaks (commas, semicolons, colons, and so on). This
convention, sometimes known as "semantic newlines", makes it
easier to see the effect of patches, which often operate at the
level of individual sentences or sentence clauses.
> +selective intercept system calls and dispatch them back to userspace
s/userspace/user space/
Rationale:
$ man 7 man-pages |sed -n '/Preferred/,/user space/p'
Preferred terms
The following table lists some preferred terms to use in man
pages, mainly to ensure consistency across pages.
Term Avoid using Notes
────────────────────────────────────────────────────────────────────────────────────────────────────
bit mask bitmask
built-in builtin
Epoch epoch For the UNIX
Epoch (00:00:00, 1 Jan 1970 UTC)
filename file name
filesystem file system
hostname host name
inode i-node
lowercase lower case, lower-case
nonzero non-zero
pathname path name
pseudoterminal pseudo-terminal
privileged port reserved port, system port
real-time realtime, real time
run time runtime
saved set-group-ID saved group ID, saved set-GID
saved set-user-ID saved user ID, saved set-UID
set-group-ID set-GID, setgid
set-user-ID set-UID, setuid
superuser super user, super-user
superblock super block, super-block
timestamp time stamp
timezone time zone
uppercase upper case, upper-case
usable useable
user space userspace
> +through
> +.IR SIGSYS .
> +.IP
> +The current Syscall User Dispatch mode is selected via
> +.IR "arg2",
.IR arg2 ,
> +which can either be set to
> +.B PR_SYS_DISPATCH_ON
> +to enable the feature, or to
> +.B PR_SYS_DISPATCH_OFF
> +to turn it off.
> +.IP
> +With
> +.IR "arg2"
.I arg2
> +set to
> +.BR PR_SYS_DISPATCH_ON ,
> +.IR "arg3"
.I arg3
> +and
> +.I "arg4"
tr -d '"'
> +respectively identify the
> +.I offset
> +and
> +.I length
> +of a memory region in the process map from where system calls are always
See semantic newlines above.
> +allowed to be executed, regardless of the switch variable.
> +.I "arg5"
tr -d '"'
> +points to a char-sized variable that is a fast switch to enable/disable> +the mechanism without invoking the kernel.
> +.I "arg5"
tr -d '"'
> +can be set to either
> +.BR PR_SYS_DISPATCH_ON
s/.BR/.B/
> +to enable the mechanism or to
> +.BR PR_SYS_DISPATCH_OFF
s/.BR/.B
> +to temporarily disable it. Any other value will fail the application> +with a
See semantic newlines above.
> +.IR SIGSYS .
> +.IP
> +When a system call is intercepted, a
> +.I SIGSYS
> +is raised with
> +.I si_code
> +set to
> +.B SYS_USER_DISPATCH.
.BR SYS_USER_DISPATCH .
> +.IP
> +When
> +.I "arg2"
tr -d '"'
> +is set to
> +.BR PR_SYS_DISPATCH_OFF ,
> +the remaining arguments must be set to
> +.BR 0 .
Literals are not (usually) formatted.
[
the remaining arguments must be set to 0.
]
> +.IP
> +The setting is not preserved across
> +.BR fork (2),
> +.BR clone (2)
> +or
> +.BR execve (2) .
s/(2) ./(2)./
> +.IP
> +For more information, see the kernel source file
> +.IR Documentation/admin-guide/syscall-user-dispatch.rst
s/.IR/.I/
Could you add
> .\" prctl PR_SET_TAGGED_ADDR_CTRL
> .\" commit 63f0c60379650d82250f22e4cf4137ef3dc4f43d
> .TP
> @@ -2000,6 +2064,14 @@ and
> .I arg3
> is an invalid address.
> .TP
> +.B EFAULT
> +.I option
> +is
> +.BR PR_SET_SYSCALL_USER_DISPATCH
s/.BR/.B/
> +and
> +.I arg5
> +has an invalid address.
> +.TP
> .B EINVAL
> The value of
> .I option
> @@ -2229,6 +2301,27 @@ is
> and SVE is not available on this platform.
> .TP
> .B EINVAL
> +.I option is
> +.B PR_SET_SYSCALL_USER_DISPATCH
> +and one of the following is true:
> +.RS
> +.IP * 3
> +.I arg2
> +is
> +.B PR_SYS_DISPATCH_OFF
> +and remaining arguments are not
> +.BR 0.
and remaining arguments are not 0.
> +.IP * 3
> +.I arg2
> +is
> +.B PR_SYS_DISPATCH_ON
> +and the memory region provided is invalid.> +.IP * 3
> +.I arg2
> +is invalid.
> +.RE
> +.TP
> +.B EINVAL
> .I option
> is
> .BR PR_SET_TAGGED_ADDR_CTRL
>
--
Alejandro Colomar
Linux man-pages comaintainer; https://www.kernel.org/doc/man-pages/
http://www.alejandro-colomar.es/
next prev parent reply other threads:[~2020-12-19 15:02 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-12-19 4:10 [PATCH] prctl.2: Document Syscall User Dispatch Gabriel Krisman Bertazi
2020-12-19 15:01 ` Alejandro Colomar (man-pages) [this message]
2020-12-21 16:38 ` Gabriel Krisman Bertazi
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=30db3ba3-34de-369d-4310-2818a5499a6d@gmail.com \
--to=alx.manpages@gmail.com \
--cc=krisman@collabora.com \
--cc=linux-man@vger.kernel.org \
--cc=mtk.manpages@gmail.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