.\" Copyright (C) 1996 Free Software Foundation, Inc.
.\"
.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE)
.\" This file is distributed according to the GNU General Public License.
.\" %%%LICENSE_END
.\"
.\" 2006-02-09, some reformatting by Luc Van Oostenryck; some
.\" reformatting and rewordings by mtk
.\"
.TH CREATE_MODULE 2 2017-09-15 "Linux" "Linux Programmer's Manual"
.SH NAME
create_module \- create a loadable module entry
.SH SYNOPSIS
.nf
.B #include <linux/module.h>
.PP
.BI "caddr_t create_module(const char *" name ", size_t " size );
.fi
.PP
.IR Note :
No declaration of this system call is provided in glibc headers; see NOTES.
.SH DESCRIPTION
.IR Note :
This system call is present only in kernels before Linux 2.6.
.PP
.BR create_module ()
attempts to create a loadable module entry and reserve the kernel memory
that will be needed to hold the module.
This system call requires privilege.
.SH RETURN VALUE
On success, returns the kernel address at which the module will reside.
On error, \-1 is returned and
.I errno
is set appropriately.
.SH ERRORS
.TP
.B EEXIST
A module by that name already exists.
.TP
.B EFAULT
.I name
is outside the program's accessible address space.
.TP
.B EINVAL
The requested size is too small even for the module header information.
.TP
.B ENOMEM
The kernel could not allocate a contiguous block of memory large
enough for the module.
.TP
.B ENOSYS
.BR create_module ()
is not supported in this version of the kernel
(e.g., the kernel is version 2.6 or later).
.TP
.B EPERM
The caller was not privileged
(did not have the
.B CAP_SYS_MODULE
capability).
.SH VERSIONS
This system call is present on Linux only up until kernel 2.4;
it was removed in Linux 2.6.
.\" Removed in Linux 2.5.48
.SH CONFORMING TO
.BR create_module ()
is Linux-specific.
.SH NOTES
This obsolete system call is not supported by glibc.
No declaration is provided in glibc headers, but, through a quirk of history,
glibc versions before 2.23 did export an ABI for this system call.
Therefore, in order to employ this system call,
it was sufficient to manually declare the interface in your code;
alternatively, you could invoke the system call using
.BR syscall (2).
.SH SEE ALSO
.BR delete_module (2),
.BR init_module (2),
.BR query_module (2)
