Scroll to navigation

create_module(2) System Calls Manual create_module(2)

ИМЯ

create_module - создать элемент загружаемого модуля

СИНТАКСИС

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

ОПИСАНИЕ

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

create_module() пытается создать элемент загружаемого модуля и зарезервировать память ядра, которая необходима для хранения модуля. Данный системный вызов требует особых прав.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

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.

ОШИБКИ

Модуль с таким именем уже существует.
name вне доступного программного адресного пространства.
Запрашиваемый размер мал даже для информационного заголовка модуля.
Ядро не может выделить непрерывный блок памяти, необходимый для модуля.
create_module() is not supported in this version of the kernel (e.g., Linux 2.6 or later).
Вызывающий не имеет прав (не имеет мандата CAP_SYS_MODULE).

ВЕРСИИ

This system call is present only up until Linux 2.4; it was removed in Linux 2.6.

СТАНДАРТЫ

create_module() есть только в Linux.

ПРИМЕЧАНИЯ

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 glibc 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 syscall(2).

СМОТРИТЕ ТАКЖЕ

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

ПЕРЕВОД

Русский перевод этой страницы руководства разработал Azamat Hackimov <azamat.hackimov@gmail.com>, Dmitriy S. Seregin <dseregin@59.ru>, Dmitry Bolkhovskikh <d20052005@yandex.ru>, Katrin Kutepova <blackkatelv@gmail.com>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>

Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику по его адресу электронной почты или по адресу списка рассылки русских переводчиков.

4 декабря 2022 г. Linux man-pages 6.03