Re: [PATCH bpf-next v7 4/8] bpf: lsm: Implement attach, detach and execution
From: KP Singh <hidden>
Date: 2020-03-26 19:39:27
Also in:
bpf, lkml
On 26-Mär 12:12, Andrii Nakryiko wrote:
On Thu, Mar 26, 2020 at 7:29 AM KP Singh [off-list ref] wrote:quoted
From: KP Singh <redacted> 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 <redacted> Reviewed-by: Brendan Jackman <jackmanb@google.com> Reviewed-by: Florent Revest <redacted> ---Acked-by: Andrii Nakryiko <redacted>quoted
include/linux/bpf_lsm.h | 11 ++++++++ kernel/bpf/bpf_lsm.c | 28 ++++++++++++++++++++ kernel/bpf/btf.c | 9 ++++++- kernel/bpf/syscall.c | 57 ++++++++++++++++++++++++++++------------- kernel/bpf/trampoline.c | 17 +++++++++--- kernel/bpf/verifier.c | 19 +++++++++++--- 6 files changed, 114 insertions(+), 27 deletions(-)[...]quoted
@@ -2479,6 +2496,10 @@ static int bpf_raw_tracepoint_open(const union bpf_attr *attr) } buf[sizeof(buf) - 1] = 0; tp_name = buf; + break; + default: + err = -EINVAL; + goto out_put_prog; }is indentation off here or it's my email client?
You're mail client is fine :) It's me. - KP
[...]