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