Thread (16 messages) 16 messages, 3 authors, 2020-05-26

Re: [bpf-next PATCH v5 1/5] bpf, sk_msg: add some generic helpers that may be useful from sk_msg

From: Andrii Nakryiko <hidden>
Date: 2020-05-26 18:33:41
Also in: bpf

On Mon, May 25, 2020 at 3:57 PM John Fastabend [off-list ref] wrote:
Daniel Borkmann wrote:
quoted
On 5/24/20 6:50 PM, John Fastabend wrote:
quoted
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?
quoted
quoted
  BPF_FUNC_get_current_cgroup_id
  BPF_FUNC_get_current_ancestor_cgroup_id
  BPF_FUNC_get_cgroup_classid

Acked-by: Yonghong Song <redacted>
Signed-off-by: John Fastabend <john.fastabend@gmail.com>
---
  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);
    }
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help