mirror of https://github.com/mkerrisk/man-pages
create_module.2, delete_module.2, init_module.2, query_module.2: Clarify glibc header file declaration/ABI wrapper details
create_module(), delete_module(), init_module(), and query_module() are not declared in header files, but through an accident of history glibc provides an ABI for them that it continues to maintain, for compatibility reasons. Reported-by: Lucas De Marchi <lucas.demarchi@profusion.mobi> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
This commit is contained in:
parent
1205c84585
commit
4a9c7a5ecb
|
@ -16,8 +16,11 @@ create_module \- create a loadable module entry
|
||||||
.sp
|
.sp
|
||||||
.BI "caddr_t create_module(const char *" name ", size_t " size );
|
.BI "caddr_t create_module(const char *" name ", size_t " size );
|
||||||
.fi
|
.fi
|
||||||
|
|
||||||
|
.IR Note :
|
||||||
|
No declaration of this function is provided in glibc headers; see NOTES.
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
.BR Note :
|
.IR Note :
|
||||||
This system call is present only in kernels before Linux 2.6.
|
This system call is present only in kernels before Linux 2.6.
|
||||||
|
|
||||||
.BR create_module ()
|
.BR create_module ()
|
||||||
|
@ -62,6 +65,16 @@ it was removed in Linux 2.6.
|
||||||
.SH CONFORMING TO
|
.SH CONFORMING TO
|
||||||
.BR create_module ()
|
.BR create_module ()
|
||||||
is Linux-specific.
|
is Linux-specific.
|
||||||
|
.SH NOTES
|
||||||
|
The
|
||||||
|
.BR create_module ()
|
||||||
|
system call is not suported by glibc.
|
||||||
|
No declaration is provided in glibc headers, but,
|
||||||
|
through a quirk of history, glibc does export an ABI for this system call.
|
||||||
|
Therefore, in order to employ this system call,
|
||||||
|
it is sufficient to manually declare the interface in your code;
|
||||||
|
alternatively, you can invoke the system call using
|
||||||
|
.BR syscall (2).
|
||||||
.SH SEE ALSO
|
.SH SEE ALSO
|
||||||
.BR delete_module (2),
|
.BR delete_module (2),
|
||||||
.BR init_module (2),
|
.BR init_module (2),
|
||||||
|
|
|
@ -31,7 +31,7 @@ delete_module \- unload a kernel module
|
||||||
.fi
|
.fi
|
||||||
|
|
||||||
.IR Note :
|
.IR Note :
|
||||||
There is no glibc wrapper for this system call; see NOTES.
|
No declaration of this function is provided in glibc headers; see NOTES.
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
The
|
The
|
||||||
.BR delete_module ()
|
.BR delete_module ()
|
||||||
|
@ -173,7 +173,14 @@ was not specified in
|
||||||
.BR delete_module ()
|
.BR delete_module ()
|
||||||
is Linux-specific.
|
is Linux-specific.
|
||||||
.SH NOTES
|
.SH NOTES
|
||||||
Glibc does not provide a wrapper for this system call; call it using
|
The
|
||||||
|
.BR delete_module ()
|
||||||
|
system call is not suported by glibc.
|
||||||
|
No declaration is provided in glibc headers, but,
|
||||||
|
through a quirk of history, glibc does export an ABI for this system call.
|
||||||
|
Therefore, in order to employ this system call,
|
||||||
|
it is sufficient to manually declare the interface in your code;
|
||||||
|
alternatively, you can invoke the system call using
|
||||||
.BR syscall (2).
|
.BR syscall (2).
|
||||||
|
|
||||||
The uninterruptible sleep that may occur if
|
The uninterruptible sleep that may occur if
|
||||||
|
|
|
@ -37,7 +37,11 @@ init_module, finit_module \- load a kernel module
|
||||||
.fi
|
.fi
|
||||||
|
|
||||||
.IR Note :
|
.IR Note :
|
||||||
There are no glibc wrappers for these system calls; see NOTES.
|
glibc provides no header file declaration of
|
||||||
|
.BR init_module ()
|
||||||
|
and no wrapper function for
|
||||||
|
.BR finit_module ();
|
||||||
|
see NOTES.
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
.BR init_module ()
|
.BR init_module ()
|
||||||
loads an ELF image into kernel space,
|
loads an ELF image into kernel space,
|
||||||
|
@ -258,7 +262,19 @@ and
|
||||||
.BR finit_module ()
|
.BR finit_module ()
|
||||||
are Linux-specific.
|
are Linux-specific.
|
||||||
.SH NOTES
|
.SH NOTES
|
||||||
Glibc does not provide a wrapper for these system calls; call them using
|
The
|
||||||
|
.BR init_module ()
|
||||||
|
system call is not suported by glibc.
|
||||||
|
No declaration is provided in glibc headers, but,
|
||||||
|
through a quirk of history, glibc does export an ABI for this system call.
|
||||||
|
Therefore, in order to employ this system call,
|
||||||
|
it is sufficient to manually declare the interface in your code;
|
||||||
|
alternatively, you can invoke the system call using
|
||||||
|
.BR syscall (2).
|
||||||
|
|
||||||
|
Glibc does not provide a wrapper for
|
||||||
|
.BR finit_module ();
|
||||||
|
call it using
|
||||||
.BR syscall (2).
|
.BR syscall (2).
|
||||||
|
|
||||||
Information about currently loaded modules can be found in
|
Information about currently loaded modules can be found in
|
||||||
|
|
|
@ -19,9 +19,9 @@ query_module \- query the kernel for various bits pertaining to modules
|
||||||
.fi
|
.fi
|
||||||
|
|
||||||
.IR Note :
|
.IR Note :
|
||||||
There is no glibc wrapper for this system call; see NOTES.
|
No declaration of this function is provided in glibc headers; see NOTES.
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
.BR Note :
|
.IR Note :
|
||||||
This system call is present only in kernels before Linux 2.6.
|
This system call is present only in kernels before Linux 2.6.
|
||||||
|
|
||||||
.BR query_module ()
|
.BR query_module ()
|
||||||
|
@ -181,8 +181,14 @@ can be obtained from
|
||||||
and the files under the directory
|
and the files under the directory
|
||||||
.IR /sys/module .
|
.IR /sys/module .
|
||||||
|
|
||||||
Glibc does not provide a wrapper for this system call;
|
The
|
||||||
in the unlikely event that you need to use it on an old kernel, use
|
.BR query_module ()
|
||||||
|
system call is not suported by glibc.
|
||||||
|
No declaration is provided in glibc headers, but,
|
||||||
|
through a quirk of history, glibc does export an ABI for this system call.
|
||||||
|
Therefore, in order to employ this system call,
|
||||||
|
it is sufficient to manually declare the interface in your code;
|
||||||
|
alternatively, you can invoke the system call using
|
||||||
.BR syscall (2).
|
.BR syscall (2).
|
||||||
.SH SEE ALSO
|
.SH SEE ALSO
|
||||||
.BR create_module (2),
|
.BR create_module (2),
|
||||||
|
|
Loading…
Reference in New Issue