diff options
| author | Paul Chaignon <paul.chaignon@gmail.com> | 2023-09-06 15:33:10 +0200 |
|---|---|---|
| committer | Aleksandr Nogikh <nogikh@google.com> | 2023-09-13 07:31:19 +0000 |
| commit | 89b81d8a020a3c1f0a2a1efdd3c9d9b5a8916486 (patch) | |
| tree | a70f1d6de3b51095255d197be61388d07441a499 /sys/linux/bpf.txt | |
| parent | 59da83662ae7076f1369c8a5b9dd1245223039df (diff) | |
sys/linux: cover BPF iterators support in BPF_LINK_CREATE
Commit [1] upstream extended the bpf(2) BPF_LINK_CREATE command with
optional fields for BPF iterators. The extra field is a pointer to a
bpf_iter_link_info struct and its size. Commits [2, 3] upstream latter
extended the bpf_iter_link_info struct to cover cgroup and task
iterators.
This commit extends the syzkaller description of BPF_LINK_CREATE to
cover the above.
1 - https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=5e7b30205cef80f6b
2 - https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=d4ccaf58a8472123a
3 - https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=f0d74c4da1f060d2a
Signed-off-by: Paul Chaignon <paul.chaignon@gmail.com>
Diffstat (limited to 'sys/linux/bpf.txt')
| -rw-r--r-- | sys/linux/bpf.txt | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/sys/linux/bpf.txt b/sys/linux/bpf.txt index d6ad7a0b2..b278900e6 100644 --- a/sys/linux/bpf.txt +++ b/sys/linux/bpf.txt @@ -171,11 +171,40 @@ bpf_map_batch_arg { flags const[0, int64] } +bpf_iter_link_cgroup { + order flags[bpf_cgroup_iter_order, int32] + cgroup_fd fd_cgroup + cgroup_id int64 +} + +bpf_iter_link_task { + tid pid + pid pid + pid_fd fd_pidfd +} + +bpf_iter_link_info [ + map_fd fd_bpf_map + cgroup bpf_iter_link_cgroup + task bpf_iter_link_task +] + +link_create_iter { + iter_info ptr[in, bpf_iter_link_info] + iter_info_len bytesize[iter_info, int32] +} + +link_create_arg_extra [ + target_btf_id bpf_btf_id + iter link_create_iter +] + type bpf_link_create_arg_t[PROG_FD, TARGET_FD, ATTACH_TYPE, FLAGS] { prog_fd PROG_FD target_fd TARGET_FD attach_type ATTACH_TYPE flags FLAGS + extra optional[link_create_arg_extra] } type bpf_link_create_arg bpf_link_create_arg_t[fd_bpf_prog, fd_cgroup, flags[bpf_attach_types_link_create, int32], const[0, int32]] @@ -967,3 +996,4 @@ bpf_open_flags = BPF_F_RDONLY, BPF_F_WRONLY bpf_stat_types = BPF_STATS_RUN_TIME bpf_core_relo_kind = BPF_CORE_FIELD_BYTE_OFFSET, BPF_CORE_FIELD_BYTE_SIZE, BPF_CORE_FIELD_EXISTS, BPF_CORE_FIELD_SIGNED, BPF_CORE_FIELD_LSHIFT_U64, BPF_CORE_FIELD_RSHIFT_U64, BPF_CORE_TYPE_ID_LOCAL, BPF_CORE_TYPE_ID_TARGET, BPF_CORE_TYPE_EXISTS, BPF_CORE_TYPE_SIZE, BPF_CORE_ENUMVAL_EXISTS, BPF_CORE_ENUMVAL_VALUE, BPF_CORE_TYPE_MATCHES bpf_obj_get_flags = BPF_F_PATH_FD, BPF_F_RDONLY, BPF_F_WRONLY +bpf_cgroup_iter_order = BPF_CGROUP_ITER_SELF_ONLY, BPF_CGROUP_ITER_DESCENDANTS_PRE, BPF_CGROUP_ITER_DESCENDANTS_POST, BPF_CGROUP_ITER_ANCESTORS_UP |
