Re: [PATCH bpf-next v8 4/8] bpf: lsm: Implement attach, detach and execution
From: James Morris
Date: Fri Mar 27 2020 - 21:09:04 EST
On Fri, 27 Mar 2020, KP Singh wrote:
> From: KP Singh <kpsingh@xxxxxxxxxx>
>
> JITed BPF programs are dynamically attached to the LSM hooks
> using BPF trampolines. The trampoline prologue generates code to handle
> conversion of the signature of the hook to the appropriate BPF context.
>
> The allocated trampoline programs are attached to the nop functions
> initialized as LSM hooks.
>
> BPF_PROG_TYPE_LSM programs must have a GPL compatible license and
> and need CAP_SYS_ADMIN (required for loading eBPF programs).
>
> Upon attachment:
>
> * A BPF fexit trampoline is used for LSM hooks with a void return type.
> * A BPF fmod_ret trampoline is used for LSM hooks which return an
> int. The attached programs can override the return value of the
> bpf LSM hook to indicate a MAC Policy decision.
>
> Signed-off-by: KP Singh <kpsingh@xxxxxxxxxx>
> Acked-by: Andrii Nakryiko <andriin@xxxxxx>
> Reviewed-by: Brendan Jackman <jackmanb@xxxxxxxxxx>
> Reviewed-by: Florent Revest <revest@xxxxxxxxxx>
Acked-by: James Morris <jamorris@xxxxxxxxxxxxxxxxxxx>
--
James Morris
<jmorris@xxxxxxxxx>