Voltar à lista
Linux x86_64Sistema & diversos#175

init_module

Carrega um módulo do kernel a partir de uma imagem já em memória.

Descrição

Usada por `insmod(8)`; exige CAP_SYS_MODULE. Em sistemas com Secure Boot/verificação de assinatura habilitada, módulos não assinados corretamente são rejeitados.

Header: linux/module.hman 2

Assinatura

int init_module(
    void * module_image,
    unsigned long len,
    const char * param_values
);

Parâmetros

ParâmetroTipoDescrição
module_imagevoid *Buffer com o conteúdo ELF do módulo.
lenunsigned longTamanho de `module_image`.
param_valuesconst char *String de parâmetros do módulo (formato "chave=valor").

Registradores (x86_64)

RegistradorPapelArgumento
raxnúmero da syscall (chamada) / valor de retorno (após SYSCALL)
rdiargumento 1module_imagevoid *
rsiargumento 2lenunsigned long
rdxargumento 3param_valuesconst char *

Valor de retorno

0 em sucesso; -1 em erro, com errno definido.

Códigos de erro (errno)

EEXIST(17)
Arquivo já existe.
EINVAL(22)
Argumento inválido.
ENOMEM(12)
Memória insuficiente para completar a operação.
EPERM(1)
Operação não permitida (falta de privilégio).
EBADMSG(74)
Mensagem inválida/corrompida.

Relacionadas