mbox series

[bpf-next,0/5] bpf: Allow helper bpf_get_ns_current_pid_tgid() in cgroup/sk_msg programs

Message ID 20240307232659.1115872-1-yonghong.song@linux.dev (mailing list archive)
Headers show
Series bpf: Allow helper bpf_get_ns_current_pid_tgid() in cgroup/sk_msg programs | expand

Message

Yonghong Song March 7, 2024, 11:26 p.m. UTC
Currently bpf_get_current_pid_tgid() is allowed in tracing, cgroup
and sk_msg progs while bpf_get_ns_current_pid_tgid() is only allowed
in tracing progs.

We have an internal use case where for an application running
in a container (with pid namespace), user wants to get
the pid associated with the pid namespace in a cgroup bpf
program. Besides cgroup, the only prog type, supporting
bpf_get_current_pid_tgid() but not bpf_get_ns_current_pid_tgid(),
is sk_msg and this patch set added it as well.

Patch 1 added the kernel support and patches 2-5 added
the test for cgroup and sk_msg.

Yonghong Song (5):
  bpf: Allow helper bpf_get_ns_current_pid_tgid() in cgroup and sk_msg
    programs
  selftests/bpf: Replace CHECK with ASSERT_* in ns_current_pid_tgid test
  selftests/bpf: Refactor out some functions in ns_current_pid_tgid test
  selftests/bpf: Add a cgroup prog bpf_get_ns_current_pid_tgid() test
  selftests/bpf: Add a sk_msg prog bpf_get_ns_current_pid_tgid() test

 kernel/bpf/cgroup.c                           |   2 +
 net/core/filter.c                             |   2 +
 .../bpf/prog_tests/ns_current_pid_tgid.c      | 195 +++++++++++++++---
 .../bpf/progs/test_ns_current_pid_tgid.c      |  31 ++-
 4 files changed, 196 insertions(+), 34 deletions(-)