android_kernel_motorola_sm6375/tools
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Yonghong Song bf3a8c609a
UPSTREAM: bpf: Implement bpf iterator for map elements
The bpf iterator for map elements are implemented.
The bpf program will receive four parameters:
  bpf_iter_meta *meta: the meta data
  bpf_map *map:        the bpf_map whose elements are traversed
  void *key:           the key of one element
  void *value:         the value of the same element

Here, meta and map pointers are always valid, and
key has register type PTR_TO_RDONLY_BUF_OR_NULL and
value has register type PTR_TO_RDWR_BUF_OR_NULL.
The kernel will track the access range of key and value
during verification time. Later, these values will be compared
against the values in the actual map to ensure all accesses
are within range.

A new field iter_seq_info is added to bpf_map_ops which
is used to add map type specific information, i.e., seq_ops,
init/fini seq_file func and seq_file private data size.
Subsequent patches will have actual implementation
for bpf_map_ops->iter_seq_info.

In user space, BPF_ITER_LINK_MAP_FD needs to be
specified in prog attr->link_create.flags, which indicates
that attr->link_create.target_fd is a map_fd.
The reason for such an explicit flag is for possible
future cases where one bpf iterator may allow more than
one possible customization, e.g., pid and cgroup id for
task_file.

Current kernel internal implementation only allows
the target to register at most one required bpf_iter_link_info.
To support the above case, optional bpf_iter_link_info's
are needed, the target can be extended to register such link
infos, and user provided link_info needs to match one of
target supported ones.

Change-Id: I9cf9b9051c292aa7a46a723fc86987e74c9e8ee3
Signed-off-by: Yonghong Song <yhs@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/bpf/20200723184112.590360-1-yhs@fb.com
2026-01-14 18:12:07 -08:00
..
accounting
arch x86/insn: Fix PUSH instruction in x86 instruction decoder opcode map 2024-06-16 13:28:39 +02:00
bpf bpftool: Fix memory leak in dump_xx_nlmsg on realloc failure 2025-08-28 16:21:19 +02:00
build tools build: Align warning options with perf 2025-10-29 13:59:51 +01:00
cgroup
debugging
firewire
firmware
gpio
hv
iio tools/iio: Add memory allocation failure check for trigger_name 2024-11-08 16:20:45 +01:00
include UPSTREAM: bpf: Implement bpf iterator for map elements 2026-01-14 18:12:07 -08:00
io_uring
kvm/kvm_stat
laptop
leds
lib UPSTREAM: libbpf: Add support for BPF_CGROUP_INET_SOCK_RELEASE 2026-01-14 18:12:04 -08:00
memory-model tools/memory-model: Fix bug in lock.cat 2024-08-19 05:33:37 +02:00
nfsd
objtool
pci
pcmcia
perf Merge tag 'ASB-2025-12-01_11-5.4' of https://android.googlesource.com/kernel/common into android13-5.4-lahaina 2025-12-04 19:21:35 +02:00
power tools/power x86_energy_perf_policy: Prefer driver HWP limits 2025-12-03 12:45:08 +01:00
scripts
spi
testing UPSTREAM: bpf: Selftests and tools use struct bpf_devmap_val from uapi 2026-01-14 18:12:03 -08:00
thermal/tmon
time
usb usbip: tools: Fix detach_port() invalid port error path 2024-11-08 16:20:53 +01:00
virtio
vm
wmi
Makefile