[1/3] alloc_hugepages.2, arch_prctl.2, capget.2, clone.2, delete_module.2, execveat.2, exit_group.2, get_robust_list.2, getunwind.2, init_module.2: Add note about the use of syscall(2)

Message ID 20210421224418.143065-1-alx.manpages@gmail.com
State Not applicable
Headers
Series [1/3] alloc_hugepages.2, arch_prctl.2, capget.2, clone.2, delete_module.2, execveat.2, exit_group.2, get_robust_list.2, getunwind.2, init_module.2: Add note about the use of syscall(2) |

Commit Message

Alejandro Colomar April 21, 2021, 10:44 p.m. UTC
  Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
---
 man2/alloc_hugepages.2 | 5 +++++
 man2/arch_prctl.2      | 6 ++++++
 man2/capget.2          | 5 +++++
 man2/clone.2           | 6 ++++++
 man2/delete_module.2   | 6 ++++++
 man2/execveat.2        | 6 ++++++
 man2/exit_group.2      | 6 ++++++
 man2/get_robust_list.2 | 5 +++++
 man2/getunwind.2       | 6 ++++++
 man2/init_module.2     | 5 +++++
 10 files changed, 56 insertions(+)
  

Comments

Michael Kerrisk \(man-pages\) May 9, 2021, 7:52 p.m. UTC | #1
Hello Alex,

On 4/22/21 10:44 AM, Alejandro Colomar wrote:
> Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
> ---
>  man2/alloc_hugepages.2 | 5 +++++
>  man2/arch_prctl.2      | 6 ++++++
>  man2/capget.2          | 5 +++++
>  man2/clone.2           | 6 ++++++
>  man2/delete_module.2   | 6 ++++++
>  man2/execveat.2        | 6 ++++++
>  man2/exit_group.2      | 6 ++++++
>  man2/get_robust_list.2 | 5 +++++
>  man2/getunwind.2       | 6 ++++++
>  man2/init_module.2     | 5 +++++
>  10 files changed, 56 insertions(+)

Patch applied. Thanks!

Cheers,

Michael


> diff --git a/man2/alloc_hugepages.2 b/man2/alloc_hugepages.2
> index cc76fc495..47f9da6b0 100644
> --- a/man2/alloc_hugepages.2
> +++ b/man2/alloc_hugepages.2
> @@ -35,6 +35,11 @@ alloc_hugepages, free_hugepages \- allocate or free huge pages
>  .BI "int syscall(SYS_free_hugepages, void *" addr );
>  .\" asmlinkage int sys_free_hugepages(unsigned long addr);
>  .fi
> +.PP
> +.IR Note :
> +glibc provides no wrappers for these system calls,
> +necessitating the use of
> +.BR syscall (2).
>  .SH DESCRIPTION
>  The system calls
>  .BR alloc_hugepages ()
> diff --git a/man2/arch_prctl.2 b/man2/arch_prctl.2
> index 7ae5b350c..982416761 100644
> --- a/man2/arch_prctl.2
> +++ b/man2/arch_prctl.2
> @@ -34,6 +34,12 @@ arch_prctl \- set architecture-specific thread state
>  .BI "int syscall(SYS_arch_prctl, int " code ", unsigned long " addr );
>  .BI "int syscall(SYS_arch_prctl, int " code ", unsigned long *" addr );
>  .fi
> +.PP
> +.IR Note :
> +glibc provides no wrapper for
> +.BR arch_prctl (),
> +necessitating the use of
> +.BR syscall (2).
>  .SH DESCRIPTION
>  .BR arch_prctl ()
>  sets architecture-specific process or thread state.
> diff --git a/man2/capget.2 b/man2/capget.2
> index 9dbc0404c..3ac05106f 100644
> --- a/man2/capget.2
> +++ b/man2/capget.2
> @@ -28,6 +28,11 @@ capget, capset \- set/get capabilities of thread(s)
>  .BI "int syscall(SYS_capset, cap_user_header_t " hdrp ,
>  .BI "            const cap_user_data_t " datap );
>  .fi
> +.PP
> +.IR Note :
> +glibc provides no wrappers for these system calls,
> +necessitating the use of
> +.BR syscall (2).
>  .SH DESCRIPTION
>  These two system calls are the raw kernel interface for getting and
>  setting thread capabilities.
> diff --git a/man2/clone.2 b/man2/clone.2
> index f455c97d8..7253091a7 100644
> --- a/man2/clone.2
> +++ b/man2/clone.2
> @@ -63,6 +63,12 @@ clone, __clone2, clone3 \- create a child process
>  .PP
>  .BI "long syscall(SYS_clone3, struct clone_args *" cl_args ", size_t " size );
>  .fi
> +.PP
> +.IR Note :
> +glibc provides no wrapper for
> +.BR clone3 (),
> +necessitating the use of
> +.BR syscall (2).
>  .SH DESCRIPTION
>  These system calls
>  create a new ("child") process, in a manner similar to
> diff --git a/man2/delete_module.2 b/man2/delete_module.2
> index 21c9e9d8d..3b14111c5 100644
> --- a/man2/delete_module.2
> +++ b/man2/delete_module.2
> @@ -33,6 +33,12 @@ delete_module \- unload a kernel module
>  .PP
>  .BI "int syscall(SYS_delete_module, const char *" name ", unsigned int " flags );
>  .fi
> +.PP
> +.IR Note :
> +glibc provides no wrapper for
> +.BR delete_module (),
> +necessitating the use of
> +.BR syscall (2).
>  .SH DESCRIPTION
>  The
>  .BR delete_module ()
> diff --git a/man2/execveat.2 b/man2/execveat.2
> index c566f53df..0c97a0eb3 100644
> --- a/man2/execveat.2
> +++ b/man2/execveat.2
> @@ -36,6 +36,12 @@ execveat \- execute program relative to a directory file descriptor
>  .BI "            const char *const " argv "[], const char *const " envp [],
>  .BI "            int " flags );
>  .fi
> +.PP
> +.IR Note :
> +glibc provides no wrapper for
> +.BR execveat (),
> +necessitating the use of
> +.BR syscall (2).
>  .\" FIXME . See https://sourceware.org/bugzilla/show_bug.cgi?id=27364
>  .SH DESCRIPTION
>  .\" commit 51f39a1f0cea1cacf8c787f652f26dfee9611874
> diff --git a/man2/exit_group.2 b/man2/exit_group.2
> index b512927d4..96715d26a 100644
> --- a/man2/exit_group.2
> +++ b/man2/exit_group.2
> @@ -32,6 +32,12 @@ exit_group \- exit all threads in a process
>  .PP
>  .BI "noreturn void syscall(SYS_exit_group, int " status );
>  .fi
> +.PP
> +.IR Note :
> +glibc provides no wrapper for
> +.BR exit_group (),
> +necessitating the use of
> +.BR syscall (2).
>  .SH DESCRIPTION
>  This system call is equivalent to
>  .BR _exit (2)
> diff --git a/man2/get_robust_list.2 b/man2/get_robust_list.2
> index d1b1c59bc..66b27d905 100644
> --- a/man2/get_robust_list.2
> +++ b/man2/get_robust_list.2
> @@ -42,6 +42,11 @@ get_robust_list, set_robust_list \- get/set list of robust futexes
>  .BI "long syscall(SYS_set_robust_list,"
>  .BI "             struct robust_list_head *" head ", size_t " len );
>  .fi
> +.PP
> +.IR Note :
> +glibc provides no wrappers for these system calls,
> +necessitating the use of
> +.BR syscall (2).
>  .SH DESCRIPTION
>  These system calls deal with per-thread robust futex lists.
>  These lists are managed in user space:
> diff --git a/man2/getunwind.2 b/man2/getunwind.2
> index 2c44506c7..bf15a82b6 100644
> --- a/man2/getunwind.2
> +++ b/man2/getunwind.2
> @@ -35,6 +35,12 @@ getunwind \- copy the unwind data to caller's buffer
>  .PP
>  .BI "long syscall(SYS_getunwind, void " *buf ", size_t " buf_size );
>  .fi
> +.PP
> +.IR Note :
> +glibc provides no wrapper for
> +.BR getunwind (),
> +necessitating the use of
> +.BR syscall (2).
>  .SH DESCRIPTION
>  .I Note: this system call is obsolete.
>  .PP
> diff --git a/man2/init_module.2 b/man2/init_module.2
> index 13d1b7f0a..aac0c6631 100644
> --- a/man2/init_module.2
> +++ b/man2/init_module.2
> @@ -38,6 +38,11 @@ init_module, finit_module \- load a kernel module
>  .BI "int syscall(SYS_finit_module, int " fd ", const char *" param_values ,
>  .BI "            int " flags );
>  .fi
> +.PP
> +.IR Note :
> +glibc provides no wrappers for these system calls,
> +necessitating the use of
> +.BR syscall (2).
>  .SH DESCRIPTION
>  .BR init_module ()
>  loads an ELF image into kernel space,
>
  

Patch

diff --git a/man2/alloc_hugepages.2 b/man2/alloc_hugepages.2
index cc76fc495..47f9da6b0 100644
--- a/man2/alloc_hugepages.2
+++ b/man2/alloc_hugepages.2
@@ -35,6 +35,11 @@  alloc_hugepages, free_hugepages \- allocate or free huge pages
 .BI "int syscall(SYS_free_hugepages, void *" addr );
 .\" asmlinkage int sys_free_hugepages(unsigned long addr);
 .fi
+.PP
+.IR Note :
+glibc provides no wrappers for these system calls,
+necessitating the use of
+.BR syscall (2).
 .SH DESCRIPTION
 The system calls
 .BR alloc_hugepages ()
diff --git a/man2/arch_prctl.2 b/man2/arch_prctl.2
index 7ae5b350c..982416761 100644
--- a/man2/arch_prctl.2
+++ b/man2/arch_prctl.2
@@ -34,6 +34,12 @@  arch_prctl \- set architecture-specific thread state
 .BI "int syscall(SYS_arch_prctl, int " code ", unsigned long " addr );
 .BI "int syscall(SYS_arch_prctl, int " code ", unsigned long *" addr );
 .fi
+.PP
+.IR Note :
+glibc provides no wrapper for
+.BR arch_prctl (),
+necessitating the use of
+.BR syscall (2).
 .SH DESCRIPTION
 .BR arch_prctl ()
 sets architecture-specific process or thread state.
diff --git a/man2/capget.2 b/man2/capget.2
index 9dbc0404c..3ac05106f 100644
--- a/man2/capget.2
+++ b/man2/capget.2
@@ -28,6 +28,11 @@  capget, capset \- set/get capabilities of thread(s)
 .BI "int syscall(SYS_capset, cap_user_header_t " hdrp ,
 .BI "            const cap_user_data_t " datap );
 .fi
+.PP
+.IR Note :
+glibc provides no wrappers for these system calls,
+necessitating the use of
+.BR syscall (2).
 .SH DESCRIPTION
 These two system calls are the raw kernel interface for getting and
 setting thread capabilities.
diff --git a/man2/clone.2 b/man2/clone.2
index f455c97d8..7253091a7 100644
--- a/man2/clone.2
+++ b/man2/clone.2
@@ -63,6 +63,12 @@  clone, __clone2, clone3 \- create a child process
 .PP
 .BI "long syscall(SYS_clone3, struct clone_args *" cl_args ", size_t " size );
 .fi
+.PP
+.IR Note :
+glibc provides no wrapper for
+.BR clone3 (),
+necessitating the use of
+.BR syscall (2).
 .SH DESCRIPTION
 These system calls
 create a new ("child") process, in a manner similar to
diff --git a/man2/delete_module.2 b/man2/delete_module.2
index 21c9e9d8d..3b14111c5 100644
--- a/man2/delete_module.2
+++ b/man2/delete_module.2
@@ -33,6 +33,12 @@  delete_module \- unload a kernel module
 .PP
 .BI "int syscall(SYS_delete_module, const char *" name ", unsigned int " flags );
 .fi
+.PP
+.IR Note :
+glibc provides no wrapper for
+.BR delete_module (),
+necessitating the use of
+.BR syscall (2).
 .SH DESCRIPTION
 The
 .BR delete_module ()
diff --git a/man2/execveat.2 b/man2/execveat.2
index c566f53df..0c97a0eb3 100644
--- a/man2/execveat.2
+++ b/man2/execveat.2
@@ -36,6 +36,12 @@  execveat \- execute program relative to a directory file descriptor
 .BI "            const char *const " argv "[], const char *const " envp [],
 .BI "            int " flags );
 .fi
+.PP
+.IR Note :
+glibc provides no wrapper for
+.BR execveat (),
+necessitating the use of
+.BR syscall (2).
 .\" FIXME . See https://sourceware.org/bugzilla/show_bug.cgi?id=27364
 .SH DESCRIPTION
 .\" commit 51f39a1f0cea1cacf8c787f652f26dfee9611874
diff --git a/man2/exit_group.2 b/man2/exit_group.2
index b512927d4..96715d26a 100644
--- a/man2/exit_group.2
+++ b/man2/exit_group.2
@@ -32,6 +32,12 @@  exit_group \- exit all threads in a process
 .PP
 .BI "noreturn void syscall(SYS_exit_group, int " status );
 .fi
+.PP
+.IR Note :
+glibc provides no wrapper for
+.BR exit_group (),
+necessitating the use of
+.BR syscall (2).
 .SH DESCRIPTION
 This system call is equivalent to
 .BR _exit (2)
diff --git a/man2/get_robust_list.2 b/man2/get_robust_list.2
index d1b1c59bc..66b27d905 100644
--- a/man2/get_robust_list.2
+++ b/man2/get_robust_list.2
@@ -42,6 +42,11 @@  get_robust_list, set_robust_list \- get/set list of robust futexes
 .BI "long syscall(SYS_set_robust_list,"
 .BI "             struct robust_list_head *" head ", size_t " len );
 .fi
+.PP
+.IR Note :
+glibc provides no wrappers for these system calls,
+necessitating the use of
+.BR syscall (2).
 .SH DESCRIPTION
 These system calls deal with per-thread robust futex lists.
 These lists are managed in user space:
diff --git a/man2/getunwind.2 b/man2/getunwind.2
index 2c44506c7..bf15a82b6 100644
--- a/man2/getunwind.2
+++ b/man2/getunwind.2
@@ -35,6 +35,12 @@  getunwind \- copy the unwind data to caller's buffer
 .PP
 .BI "long syscall(SYS_getunwind, void " *buf ", size_t " buf_size );
 .fi
+.PP
+.IR Note :
+glibc provides no wrapper for
+.BR getunwind (),
+necessitating the use of
+.BR syscall (2).
 .SH DESCRIPTION
 .I Note: this system call is obsolete.
 .PP
diff --git a/man2/init_module.2 b/man2/init_module.2
index 13d1b7f0a..aac0c6631 100644
--- a/man2/init_module.2
+++ b/man2/init_module.2
@@ -38,6 +38,11 @@  init_module, finit_module \- load a kernel module
 .BI "int syscall(SYS_finit_module, int " fd ", const char *" param_values ,
 .BI "            int " flags );
 .fi
+.PP
+.IR Note :
+glibc provides no wrappers for these system calls,
+necessitating the use of
+.BR syscall (2).
 .SH DESCRIPTION
 .BR init_module ()
 loads an ELF image into kernel space,