Linux x86_64Segurança#445
landlock_add_rule
Adiciona uma regra (ex.: permissão de acesso a um caminho) a um ruleset Landlock.
Descrição
Popula o ruleset criado por `landlock_create_ruleset` com regras concretas antes de aplicá-lo com `landlock_restrict_self`.
Header:
linux/landlock.hman 2Desde o kernel 5.13Assinatura
int landlock_add_rule(
int ruleset_fd,
enum landlock_rule_type rule_type,
const void * rule_attr,
__u32 flags
);Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
| ruleset_fd | int | Descritor do ruleset retornado por landlock_create_ruleset. |
| rule_type | enum landlock_rule_type | Tipo da regra, ex.: LANDLOCK_RULE_PATH_BENEATH. |
| rule_attr | const void * | Atributos da regra, cujo formato depende de `rule_type`. |
| 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 | rule_typeenum landlock_rule_type |
| rdx | argumento 3 | rule_attrconst void * |
| r10 | argumento 4 | flags__u32 |
Valor de retorno
0 em sucesso; -1 em erro, com errno definido.
Códigos de erro (errno)
- EINVAL(22)
- Argumento inválido.
- ENOMSG(42)
- Nenhuma mensagem do tipo desejado.
- 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).