On Mon, Aug 15, 2022 at 2:58 PM Martin KaFai Lau <kafai@xxxxxx> wrote: > > On Fri, Aug 12, 2022 at 12:02:40PM -0700, Stanislav Fomichev wrote: > > diff --git a/kernel/bpf/helpers.c b/kernel/bpf/helpers.c > > index de7d2fabb06d..87ce47b13b22 100644 > > --- a/kernel/bpf/helpers.c > > +++ b/kernel/bpf/helpers.c > > @@ -1764,9 +1764,31 @@ cgroup_common_func_proto(enum bpf_func_id func_id, const struct bpf_prog *prog) > > case BPF_FUNC_get_local_storage: > > return &bpf_get_local_storage_proto; > > case BPF_FUNC_get_retval: > > - return &bpf_get_retval_proto; > > + switch (prog->expected_attach_type) { > > + case BPF_CGROUP_SOCK_OPS: > > + case BPF_CGROUP_UDP4_RECVMSG: > > + case BPF_CGROUP_UDP6_RECVMSG: > > + case BPF_CGROUP_INET4_GETPEERNAME: > > + case BPF_CGROUP_INET6_GETPEERNAME: > > + case BPF_CGROUP_INET4_GETSOCKNAME: > > + case BPF_CGROUP_INET6_GETSOCKNAME: > > + return NULL; > > + default: > > + return &bpf_get_retval_proto; > > + } > > case BPF_FUNC_set_retval: > > - return &bpf_set_retval_proto; > > + switch (prog->expected_attach_type) { > > + case BPF_CGROUP_SOCK_OPS: > > + case BPF_CGROUP_UDP4_RECVMSG: > > + case BPF_CGROUP_UDP6_RECVMSG: > > + case BPF_CGROUP_INET4_GETPEERNAME: > > + case BPF_CGROUP_INET6_GETPEERNAME: > > + case BPF_CGROUP_INET4_GETSOCKNAME: > > + case BPF_CGROUP_INET6_GETSOCKNAME: > > + return NULL; > > + default: > > + return &bpf_set_retval_proto; > > + } > Does it make sense to have bpf_lsm_func_proto() calling > cgroup_common_func_proto() also? Oh, sure, will do, thanks!