[PATCH 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)
Michael Kerrisk (man-pages)
mtk.manpages@gmail.com
Sun May 9 19:52:49 GMT 2021
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,
>
--
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/
More information about the Libc-alpha
mailing list