Voltar à lista
Linux x86_64Segurança#460

lsm_set_self_attr

Define um atributo de segurança do processo chamador em um LSM específico.

Descrição

Contraparte de escrita de `lsm_get_self_attr` — equivalente genérico a escrever em /proc/self/attr/current para trocar, por exemplo, o contexto SELinux de execução (transição de domínio).

man 2Desde o kernel 6.8

Assinatura

int lsm_set_self_attr(
    unsigned int attr,
    struct lsm_ctx * ctx,
    size_t size,
    __u32 flags
);

Parâmetros

ParâmetroTipoDescrição
attrunsigned intAtributo a definir.
ctxstruct lsm_ctx *Novo valor do atributo.
sizesize_tTamanho de `ctx`.
flags__u32Reservado; deve ser 0.

Registradores (x86_64)

RegistradorPapelArgumento
raxnúmero da syscall (chamada) / valor de retorno (após SYSCALL)
rdiargumento 1attrunsigned int
rsiargumento 2ctxstruct lsm_ctx *
rdxargumento 3sizesize_t
r10argumento 4flags__u32

Valor de retorno

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

Códigos de erro (errno)

EINVAL(22)
Argumento inválido.
EOPNOTSUPP(95)
Operação não suportada nesse socket/arquivo (também ENOTSUP).
EPERM(1)
Operação não permitida (falta de privilégio).
EFAULT(14)
Endereço de memória inválido (ponteiro fora do espaço de endereçamento válido).

Relacionadas