Voltar à lista
Linux x86_64Dispositivos & ioctl#172

iopl

Ajusta o nível de privilégio de E/S (I/O privilege level) da thread atual, específico de x86.

Descrição

Controla se instruções de E/S com porta (`in`/`out`) executadas em modo usuário são permitidas, sem passar pelo mecanismo de bitmap de `ioperm`. Historicamente usado por servidores X e drivers em espaço de usuário; hoje quase sempre substituído por interfaces de kernel mais seguras.

Header: sys/io.hman 2

Nota

Exige CAP_SYS_RAWIO. Disponível apenas em x86; em outras arquiteturas a chamada nem existe.

Assinatura

int iopl(int level);

Parâmetros

ParâmetroTipoDescrição
levelintNovo nível de privilégio de E/S desejado (0–3).

Registradores (x86_64)

RegistradorPapelArgumento
raxnúmero da syscall (chamada) / valor de retorno (após SYSCALL)
rdiargumento 1levelint

Valor de retorno

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

Códigos de erro (errno)

EINVAL(22)
Argumento inválido.
ENOSYS(38)
Chamada de sistema não implementada nesta versão do kernel.
EPERM(1)
Operação não permitida (falta de privilégio).

Relacionadas

Mesma categoria