lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <42yzod7olktnj4meijj57j5peiojywo2d47d5gefnbmbwxfz4b@5ek6puondmck>
Date: Tue, 22 Apr 2025 09:00:17 +0200
From: Alejandro Colomar <alx@...nel.org>
To: Jiri Olsa <jolsa@...nel.org>
Cc: Oleg Nesterov <oleg@...hat.com>, Peter Zijlstra <peterz@...radead.org>, 
	Andrii Nakryiko <andrii@...nel.org>, bpf@...r.kernel.org, linux-kernel@...r.kernel.org, 
	linux-trace-kernel@...r.kernel.org, x86@...nel.org, Song Liu <songliubraving@...com>, 
	Yonghong Song <yhs@...com>, John Fastabend <john.fastabend@...il.com>, 
	Hao Luo <haoluo@...gle.com>, Steven Rostedt <rostedt@...dmis.org>, 
	Masami Hiramatsu <mhiramat@...nel.org>, Alan Maguire <alan.maguire@...cle.com>, 
	David Laight <David.Laight@...lab.com>, Thomas Weißschuh <thomas@...ch.de>, 
	Ingo Molnar <mingo@...nel.org>
Subject: Re: [PATCH 22/22] man2: Add uprobe syscall page

Hi Jiri,

On Mon, Apr 21, 2025 at 11:44:22PM +0200, Jiri Olsa wrote:
> Adding man page for new uprobe syscall.
> 
> Cc: Alejandro Colomar <alx@...nel.org>
> Signed-off-by: Jiri Olsa <jolsa@...nel.org>
> ---
>  man/man2/uprobe.2    | 49 ++++++++++++++++++++++++++++++++++++++++++++
>  man/man2/uretprobe.2 |  2 ++
>  2 files changed, 51 insertions(+)
>  create mode 100644 man/man2/uprobe.2
> 
> diff --git a/man/man2/uprobe.2 b/man/man2/uprobe.2
> new file mode 100644
> index 000000000000..2b01a5ab5f3e
> --- /dev/null
> +++ b/man/man2/uprobe.2
> @@ -0,0 +1,49 @@
> +.\" Copyright (C) 2024, Jiri Olsa <jolsa@...nel.org>
> +.\"
> +.\" SPDX-License-Identifier: Linux-man-pages-copyleft
> +.\"
> +.TH uprobe 2 (date) "Linux man-pages (unreleased)"
> +.SH NAME
> +uprobe
> +\-
> +execute pending entry uprobes
> +.SH SYNOPSIS
> +.nf
> +.B int uprobe(void);
> +.fi
> +.SH DESCRIPTION
> +.BR uprobe ()
> +is an alternative to breakpoint instructions
> +for triggering entry uprobe consumers.

What are breakpoint instructions?

> +.P
> +Calls to
> +.BR uprobe ()
> +are only made from the user-space trampoline provided by the kernel.
> +Calls from any other place result in a
> +.BR SIGILL .
> +.SH RETURN VALUE
> +The return value is architecture-specific.
> +.SH ERRORS
> +.TP
> +.B SIGILL
> +.BR uprobe ()
> +was called by a user-space program.
> +.SH VERSIONS
> +The behavior varies across systems.
> +.SH STANDARDS
> +None.
> +.SH HISTORY
> +TBD
> +.P
> +.BR uprobe ()
> +was initially introduced for the x86_64 architecture
> +where it was shown to be faster than breakpoint traps.
> +It might be extended to other architectures.
> +.SH CAVEATS
> +.BR uprobe ()
> +exists only to allow the invocation of entry uprobe consumers.
> +It should
> +.B never
> +be called directly.
> +.SH SEE ALSO
> +.BR uretprobe (2)

The pages are almost identical.  Should we document both pages in the
same page?

> diff --git a/man/man2/uretprobe.2 b/man/man2/uretprobe.2
> index bbbfb0c59335..bb8bf4e32e5d 100644
> --- a/man/man2/uretprobe.2
> +++ b/man/man2/uretprobe.2
> @@ -45,3 +45,5 @@ exists only to allow the invocation of return uprobe consumers.
>  It should
>  .B never
>  be called directly.
> +.SH SEE ALSO
> +.BR uprobe (2)
> -- 
> 2.49.0


How about something like the diff below?


Have a lovely day!
Alex

---
diff --git i/man/man2/uretprobe.2 w/man/man2/uretprobe.2
index bbbfb0c59..df0e5d92e 100644
--- i/man/man2/uretprobe.2
+++ w/man/man2/uretprobe.2
@@ -2,22 +2,28 @@
 .\"
 .\" SPDX-License-Identifier: Linux-man-pages-copyleft
 .\"
-.TH uretprobe 2 (date) "Linux man-pages (unreleased)"
+.TH uprobe 2 (date) "Linux man-pages (unreleased)"
 .SH NAME
+uprobe,
 uretprobe
 \-
-execute pending return uprobes
+execute pending entry or return uprobes
 .SH SYNOPSIS
 .nf
+.B int uprobe(void);
 .B int uretprobe(void);
 .fi
 .SH DESCRIPTION
+.BR uprobe ()
+is an alternative to breakpoint instructions
+for triggering entry uprobe consumers.
+.P
 .BR uretprobe ()
 is an alternative to breakpoint instructions
 for triggering return uprobe consumers.
 .P
 Calls to
-.BR uretprobe ()
+these system calls
 are only made from the user-space trampoline provided by the kernel.
 Calls from any other place result in a
 .BR SIGILL .
@@ -26,22 +32,28 @@ .SH RETURN VALUE
 .SH ERRORS
 .TP
 .B SIGILL
-.BR uretprobe ()
-was called by a user-space program.
+These system calls
+were called by a user-space program.
 .SH VERSIONS
 The behavior varies across systems.
 .SH STANDARDS
 None.
 .SH HISTORY
+.TP
+.BR uprobe ()
+TBD
+.TP
+.BR uretprobe ()
 Linux 6.11.
 .P
-.BR uretprobe ()
-was initially introduced for the x86_64 architecture
-where it was shown to be faster than breakpoint traps.
-It might be extended to other architectures.
+These system calls
+were initially introduced for the x86_64 architecture
+where they were shown to be faster than breakpoint traps.
+They might be extended to other architectures.
 .SH CAVEATS
-.BR uretprobe ()
-exists only to allow the invocation of return uprobe consumers.
-It should
+These system calls
+exist only to allow the invocation of
+entry or return uprobe consumers.
+They should
 .B never
 be called directly.


$ MANWIDTH=64 diffman-git
--- HEAD:man/man2/uretprobe.2
+++ ./man/man2/uretprobe.2
@@ -1,24 +1,30 @@
-uretprobe(2)          System Calls Manual          uretprobe(2)
+uprobe(2)             System Calls Manual             uprobe(2)
 
 NAME
-       uretprobe - execute pending return uprobes
+       uprobe,  uretprobe - execute pending entry or return up‐
+       robes
 
 SYNOPSIS
+       int uprobe(void);
        int uretprobe(void);
 
 DESCRIPTION
+       uprobe() is an alternative  to  breakpoint  instructions
+       for triggering entry uprobe consumers.
+
        uretprobe() is an alternative to breakpoint instructions
        for triggering return uprobe consumers.
 
-       Calls  to  uretprobe() are only made from the user‐space
-       trampoline provided by the kernel.  Calls from any other
-       place result in a SIGILL.
+       Calls to these system calls are only made from the user‐
+       space trampoline provided by the kernel.  Calls from any
+       other place result in a SIGILL.
 
 RETURN VALUE
        The return value is architecture‐specific.
 
 ERRORS
-       SIGILL uretprobe() was called by a user‐space program.
+       SIGILL These  system  calls  were called by a user‐space
+              program.
 
 VERSIONS
        The behavior varies across systems.
@@ -27,16 +33,20 @@
        None.
 
 HISTORY
-       Linux 6.11.
+       uprobe()
+              TBD
+
+       uretprobe()
+              Linux 6.11.
 
-       uretprobe() was initially introduced for the x86_64  ar‐
-       chitecture  where  it was shown to be faster than break‐
-       point traps.  It might be extended  to  other  architec‐
-       tures.
+       These system calls were  initially  introduced  for  the
+       x86_64  architecture  where they were shown to be faster
+       than breakpoint traps.  They might be extended to  other
+       architectures.
 
 CAVEATS
-       uretprobe()  exists  only to allow the invocation of re‐
-       turn uprobe consumers.  It should never  be  called  di‐
-       rectly.
+       These system calls exist only to allow the invocation of
+       entry  or return uprobe consumers.  They should never be
+       called directly.
 
-Linux man‐pages (unreleased) (date)                uretprobe(2)
+Linux man‐pages (unreleased) (date)                   uprobe(2)

-- 
<https://www.alejandro-colomar.es/>

Download attachment "signature.asc" of type "application/pgp-signature" (834 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ