KFunc bpf_iter_task_new
Initialize a task iterator.
Definition
it
should be a stack allocated struct bpf_iter_task
that is used to iterate over tasks. The task
parameter is the task to iterate over. The flags
parameter is a bitmask of flags that control the behavior of the iterator. The following flags are supported:
BPF_TASK_ITER_ALL_PROCS
: Iterating all process in the system.BPF_TASK_ITER_ALL_THREADS
: Iterating all threads in the system.BPF_TASK_ITER_PROC_THREADS
: Iterating all threads of a specific tas
int bpf_iter_task_new(struct bpf_iter_task *it, struct task_struct *task__nullable, unsigned int flags)
Note
This kfunc is RCU protected. This means that the kfunc can be called from RCU read-side critical section.
If a program isn't called from RCU read-side critical section, such as sleepable programs, the
bpf_rcu_read_lock
and
bpf_rcu_read_unlock
to protect the calls to such KFuncs.
Usage
Docs could be improved
This part of the docs is incomplete, contributions are very welcome
Program types
The following program types can make use of this kfunc:
BPF_PROG_TYPE_CGROUP_SKB
BPF_PROG_TYPE_CGROUP_SOCK_ADDR
BPF_PROG_TYPE_LSM
BPF_PROG_TYPE_LWT_IN
BPF_PROG_TYPE_LWT_OUT
BPF_PROG_TYPE_LWT_SEG6LOCAL
BPF_PROG_TYPE_LWT_XMIT
BPF_PROG_TYPE_NETFILTER
BPF_PROG_TYPE_SCHED_ACT
BPF_PROG_TYPE_SCHED_CLS
BPF_PROG_TYPE_SK_SKB
BPF_PROG_TYPE_SOCKET_FILTER
BPF_PROG_TYPE_STRUCT_OPS
BPF_PROG_TYPE_SYSCALL
BPF_PROG_TYPE_TRACING
BPF_PROG_TYPE_XDP
Example
Docs could be improved
This part of the docs is incomplete, contributions are very welcome