On Mon, May 25, 2020 at 3:57 PM John Fastabend <john.fastabend@xxxxxxxxx> wrote: > > Daniel Borkmann wrote: > > On 5/24/20 6:50 PM, John Fastabend wrote: > > > Add these generic helpers that may be useful to use from sk_msg programs. > > > The helpers do not depend on ctx so we can simply add them here, > > > > > > BPF_FUNC_perf_event_output > > > BPF_FUNC_get_current_uid_gid > > > BPF_FUNC_get_current_pid_tgid > > > BPF_FUNC_get_current_comm > > > > Hmm, added helpers below are what you list here except get_current_comm. > > Was this forgotten to be added here? > > Forgot to update commit messages. I dropped it because it wasn't clear to > me it was very useful or how I would use it from this context. I figure we > can add it later if its needed. But it's also not harmful in any way and is in a similar group as get_current_pid_tgid. So let's add it sooner rather than later. There is no cost in allowing this, right? > > > > > > BPF_FUNC_get_current_cgroup_id > > > BPF_FUNC_get_current_ancestor_cgroup_id > > > BPF_FUNC_get_cgroup_classid > > > > > > Acked-by: Yonghong Song <yhs@xxxxxx> > > > Signed-off-by: John Fastabend <john.fastabend@xxxxxxxxx> > > > --- > > > net/core/filter.c | 16 ++++++++++++++++ > > > 1 file changed, 16 insertions(+) > > > > > > diff --git a/net/core/filter.c b/net/core/filter.c > > > index 822d662..a56046a 100644 > > > --- a/net/core/filter.c > > > +++ b/net/core/filter.c > > > @@ -6443,6 +6443,22 @@ sk_msg_func_proto(enum bpf_func_id func_id, const struct bpf_prog *prog) > > > return &bpf_msg_push_data_proto; > > > case BPF_FUNC_msg_pop_data: > > > return &bpf_msg_pop_data_proto; > > > + case BPF_FUNC_perf_event_output: > > > + return &bpf_event_output_data_proto; > > > + case BPF_FUNC_get_current_uid_gid: > > > + return &bpf_get_current_uid_gid_proto; > > > + case BPF_FUNC_get_current_pid_tgid: > > > + return &bpf_get_current_pid_tgid_proto; > > > +#ifdef CONFIG_CGROUPS > > > + case BPF_FUNC_get_current_cgroup_id: > > > + return &bpf_get_current_cgroup_id_proto; > > > + case BPF_FUNC_get_current_ancestor_cgroup_id: > > > + return &bpf_get_current_ancestor_cgroup_id_proto; > > > +#endif > > > +#ifdef CONFIG_CGROUP_NET_CLASSID > > > + case BPF_FUNC_get_cgroup_classid: > > > + return &bpf_get_cgroup_classid_curr_proto; > > > +#endif > > > default: > > > return bpf_base_func_proto(func_id); > > > } > > > > > > >