diff --git a/kernel/bpf/syscall.c b/kernel/bpf/syscall.c index 82e83cfb4114..dd0fc2a86ce1 100644 --- a/kernel/bpf/syscall.c +++ b/kernel/bpf/syscall.c @@ -5153,7 +5153,7 @@ syscall_prog_func_proto(enum bpf_func_id func_id, const struct bpf_prog *prog) { switch (func_id) { case BPF_FUNC_sys_bpf: - return &bpf_sys_bpf_proto; + return !perfmon_capable() ? NULL : &bpf_sys_bpf_proto; case BPF_FUNC_btf_find_by_name_kind: return &bpf_btf_find_by_name_kind_proto; case BPF_FUNC_sys_close: