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
|
||||
.BI "caddr_t create_module(const char *" name ", size_t " size );
|
||||
.fi
|
||||
|
||||
.IR Note :
|
||||
No declaration of this function is provided in glibc headers; see NOTES.
|
||||
.SH DESCRIPTION
|
||||
.BR Note :
|
||||
.IR Note :
|
||||
This system call is present only in kernels before Linux 2.6.
|
||||
|
||||
.BR create_module ()
|
||||
|
@ -62,6 +65,16 @@ it was removed in Linux 2.6.
|
|||
.SH CONFORMING TO
|
||||
.BR create_module ()
|
||||
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
|
||||
.BR delete_module (2),
|
||||
.BR init_module (2),
|
||||
|
|
|
@ -31,7 +31,7 @@ delete_module \- unload a kernel module
|
|||
.fi
|
||||
|
||||
.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
|
||||
The
|
||||
.BR delete_module ()
|
||||
|
@ -173,7 +173,14 @@ was not specified in
|
|||
.BR delete_module ()
|
||||
is Linux-specific.
|
||||
.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).
|
||||
|
||||
The uninterruptible sleep that may occur if
|
||||
|
|
|
@ -37,7 +37,11 @@ init_module, finit_module \- load a kernel module
|
|||
.fi
|
||||
|
||||
.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
|
||||
.BR init_module ()
|
||||
loads an ELF image into kernel space,
|
||||
|
@ -258,7 +262,19 @@ and
|
|||
.BR finit_module ()
|
||||
are Linux-specific.
|
||||
.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).
|
||||
|
||||
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
|
||||
|
||||
.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
|
||||
.BR Note :
|
||||
.IR Note :
|
||||
This system call is present only in kernels before Linux 2.6.
|
||||
|
||||
.BR query_module ()
|
||||
|
@ -181,8 +181,14 @@ can be obtained from
|
|||
and the files under the directory
|
||||
.IR /sys/module .
|
||||
|
||||
Glibc does not provide a wrapper for this system call;
|
||||
in the unlikely event that you need to use it on an old kernel, use
|
||||
The
|
||||
.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).
|
||||
.SH SEE ALSO
|
||||
.BR create_module (2),
|
||||
|
|
Loading…
Reference in New Issue