Voltar à lista
Linux x86_64Memória#330

pkey_alloc

Aloca uma nova memory protection key (MPK) para uso com pkey_mprotect.

Descrição

Reserva uma das (poucas) chaves de proteção disponíveis em hardware para uso pelo processo.

man 2Desde o kernel 4.9

Nota

Disponível apenas em hardware com suporte a Intel MPK (ou equivalente); retorna ENOSYS/falha em CPUs sem esse recurso.

Assinatura

int pkey_alloc(unsigned int flags, unsigned int access_rights);

Parâmetros

ParâmetroTipoDescrição
flagsunsigned intReservado; deve ser 0.
access_rightsunsigned intDireitos de acesso iniciais da chave (PKEY_DISABLE_ACCESS, PKEY_DISABLE_WRITE).

Registradores (x86_64)

RegistradorPapelArgumento
raxnúmero da syscall (chamada) / valor de retorno (após SYSCALL)
rdiargumento 1flagsunsigned int
rsiargumento 2access_rightsunsigned int

Valor de retorno

Um identificador de chave em sucesso; -1 em erro, com errno definido.

Códigos de erro (errno)

EINVAL(22)
Argumento inválido.
ENOSPC(28)
Sem espaço livre no dispositivo.

Relacionadas