Linux x86_64Segurança#446
landlock_restrict_self
Aplica um ruleset Landlock ao processo chamador, restringindo-o de forma irreversível.
Descrição
Como `prctl(PR_SET_NO_NEW_PRIVS)`, é uma restrição de mão única: uma vez aplicada, nem o processo nem seus descendentes podem escapar dela — apenas empilhar restrições adicionais.
Header:
linux/landlock.hman 2Desde o kernel 5.13Nota
Normalmente exige que o processo já tenha `no_new_privs` habilitado (via prctl), a menos que rode como root com os privilégios adequados.
Assinatura
int landlock_restrict_self(int ruleset_fd, __u32 flags);Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
| ruleset_fd | int | Descritor do ruleset a aplicar. |
| flags | __u32 | Reservado; deve ser 0. |
Registradores (x86_64)
| Registrador | Papel | Argumento |
|---|---|---|
| rax | número da syscall (chamada) / valor de retorno (após SYSCALL) | — |
| rdi | argumento 1 | ruleset_fdint |
| rsi | argumento 2 | flags__u32 |
Valor de retorno
0 em sucesso; -1 em erro, com errno definido.
Códigos de erro (errno)
- EINVAL(22)
- Argumento inválido.
- E2BIG(7)
- Lista de argumentos grande demais.
- EBADF(9)
- Descritor de arquivo inválido.
- EBADFD(77)
- Descritor de arquivo em estado inválido para a operação.
- EPERM(1)
- Operação não permitida (falta de privilégio).