[bpf-next,0/2] Add kfunc for doing pid -> task lookup

Message ID 20221122145300.251210-1-void@manifault.com
Headers
Series Add kfunc for doing pid -> task lookup |

Message

David Vernet Nov. 22, 2022, 2:52 p.m. UTC
  A series of prior patches added support for storing struct task_struct *
objects as kptrs. This patch set proposes extending this with another
kfunc called bpf_task_from_pid() which performs a lookup of a task from
its pid, from the root pid namespace idr.

This allows BPF programs that don't have a kptr to a task, to instead
perform a lookup by pid. This will be useful for programs that are
tracking pids and want, e.g., to do a lookup to find task->comm.

David Vernet (2):
  bpf: Add bpf_task_from_pid() kfunc
  selftests/bpf: Add selftests for bpf_task_from_pid()

 kernel/bpf/helpers.c                          | 20 +++++
 .../selftests/bpf/prog_tests/task_kfunc.c     |  3 +
 .../selftests/bpf/progs/task_kfunc_common.h   |  1 +
 .../selftests/bpf/progs/task_kfunc_success.c  | 73 +++++++++++++++++++
 4 files changed, 97 insertions(+)
  

Comments

patchwork-bot+netdevbpf@kernel.org Nov. 24, 2022, 2:10 a.m. UTC | #1
Hello:

This series was applied to bpf/bpf-next.git (master)
by Alexei Starovoitov <ast@kernel.org>:

On Tue, 22 Nov 2022 08:52:58 -0600 you wrote:
> A series of prior patches added support for storing struct task_struct *
> objects as kptrs. This patch set proposes extending this with another
> kfunc called bpf_task_from_pid() which performs a lookup of a task from
> its pid, from the root pid namespace idr.
> 
> This allows BPF programs that don't have a kptr to a task, to instead
> perform a lookup by pid. This will be useful for programs that are
> tracking pids and want, e.g., to do a lookup to find task->comm.
> 
> [...]

Here is the summary with links:
  - [bpf-next,1/2] bpf: Add bpf_task_from_pid() kfunc
    https://git.kernel.org/bpf/bpf-next/c/3f0e6f2b41d3
  - [bpf-next,2/2] selftests/bpf: Add selftests for bpf_task_from_pid()
    https://git.kernel.org/bpf/bpf-next/c/f471748b7fe5

You are awesome, thank you!