CREATE_MODULE(2) Podręcznik programisty Linuksa CREATE_MODULE(2)

create_module - tworzy wpis ładowalnego modułu

#include <linux/module.h>
caddr_t create_module(const char *name, size_t size);

Uwaga: W nagłówkach glibc nie udostępnia się deklaracji tego wywołania systemowego, zob. UWAGI.

Note: This system call is present only in kernels before Linux 2.6.

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.

On success, returns the kernel address at which the module will reside. On error, -1 is returned and errno is set to indicate the error.

Moduł o takiej nazwie już istnieje.
name jest poza dostępną przestrzenią adresową.
Żądany rozmiar jest zbyt mały, nawet na informacje z nagłówka modułu.
Kernel nie mógł przydzielić dostatecznie dużego, ciągłego bloku pamięci by pomieścić moduł.
create_module() is not supported in this version of the kernel (e.g., the kernel is version 2.6 or later).
The caller was not privileged (did not have the CAP_SYS_MODULE capability).

To wywołanie systemowe jest obecne w Linuksie tylko do wersji 2.4 jądra; zostało usunięte w Linuksie 2.6.

create_module() is Linux-specific.

To przestarzałe wywołanie systemowe nie jest obsługiwane przez glibc. W nagłówkach glibc nie ma jego deklaracji, ale z powodów pewnych zaszłości historycznych wersje glibc przed 2.23 eksportowały ABI dla tego wywołania systemowego. Z tego powodu, aby go użyć wystarczyło manualnie zadeklarować interfejs w swoim kodzie; alternatywnie można wywołać to wywołanie systemowe za pomocą syscall(2).

delete_module(2), init_module(2), query_module(2)

Angielska wersja tej strony pochodzi z wydania 5.13 projektu Linux man-pages. Opis projektu, informacje dotyczące zgłaszania błędów oraz najnowszą wersję oryginału można znaleźć pod adresem https://www.kernel.org/doc/man-pages/.

Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Przemek Borys <pborys@dione.ids.pl>

Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres manpages-pl-list@lists.sourceforge.net.

22 marca 2021 r. Linux