Home
last modified time | relevance | path

Searched refs:bpf (Results 1 – 25 of 331) sorted by relevance

12345678910>>...14

/linux-6.15/drivers/net/ethernet/netronome/nfp/bpf/
H A Dmain.c223 if (bpf->adjust_head.off_min > bpf->adjust_head.off_max) { in nfp_bpf_parse_cap_adjust_head()
230 memset(&bpf->adjust_head, 0, sizeof(bpf->adjust_head)); in nfp_bpf_parse_cap_adjust_head()
327 if (bpf->abi_version < 2 || bpf->abi_version > 3) { in nfp_bpf_parse_cap_abi_version()
449 bpf->cmsg_cache_cnt = nfp_bpf_ctrl_cmsg_cache_cnt(bpf); in nfp_bpf_start()
461 bpf = kzalloc(sizeof(*bpf), GFP_KERNEL); in nfp_bpf_init()
462 if (!bpf) in nfp_bpf_init()
487 bpf->cmsg_key_sz = bpf->maps.max_key_sz; in nfp_bpf_init()
488 bpf->cmsg_val_sz = bpf->maps.max_val_sz; in nfp_bpf_init()
504 kfree(bpf); in nfp_bpf_init()
515 WARN_ON(bpf->maps_in_use || bpf->map_elems_in_use); in nfp_bpf_clean()
[all …]
H A Dcmsg.c36 size += (bpf->cmsg_key_sz + bpf->cmsg_val_sz) * n; in nfp_bpf_cmsg_map_req_size()
44 return nfp_bpf_cmsg_alloc(bpf, nfp_bpf_cmsg_map_req_size(bpf, n)); in nfp_bpf_cmsg_map_req_alloc()
53 size += (bpf->cmsg_key_sz + bpf->cmsg_val_sz) * n; in nfp_bpf_cmsg_map_reply_size()
157 return &req->data[bpf->cmsg_key_sz * n + bpf->cmsg_val_sz * n]; in nfp_bpf_ctrl_req_key()
164 return &req->data[bpf->cmsg_key_sz * (n + 1) + bpf->cmsg_val_sz * n]; in nfp_bpf_ctrl_req_val()
171 return &reply->data[bpf->cmsg_key_sz * n + bpf->cmsg_val_sz * n]; in nfp_bpf_ctrl_reply_key()
178 return &reply->data[bpf->cmsg_key_sz * (n + 1) + bpf->cmsg_val_sz * n]; in nfp_bpf_ctrl_reply_val()
205 struct nfp_app_bpf *bpf = nfp_map->bpf; in nfp_bpf_ctrl_op_cache_get() local
299 struct nfp_app_bpf *bpf = nfp_map->bpf; in nfp_bpf_ctrl_entry_op() local
437 entry_sz = bpf->cmsg_key_sz + bpf->cmsg_val_sz; in nfp_bpf_ctrl_cmsg_cache_cnt()
[all …]
H A Doffload.c139 nfp_map_ptrs_forget(bpf, nfp_prog); in nfp_map_ptrs_record()
338 if (!bpf->maps.types) in nfp_bpf_map_alloc()
351 if (bpf->maps.max_maps == bpf->maps_in_use) { in nfp_bpf_map_alloc()
355 if (bpf->maps.max_elems - bpf->map_elems_in_use < in nfp_bpf_map_alloc()
359 bpf->maps.max_elems - bpf->map_elems_in_use); in nfp_bpf_map_alloc()
368 bpf->maps.max_elem_sz); in nfp_bpf_map_alloc()
391 nfp_map->bpf = bpf; in nfp_bpf_map_alloc()
402 bpf->maps_in_use++; in nfp_bpf_map_alloc()
414 nfp_bpf_ctrl_free_map(bpf, nfp_map); in nfp_bpf_map_free()
419 bpf->maps_in_use--; in nfp_bpf_map_free()
[all …]
/linux-6.15/tools/tracing/rtla/src/
H A Dtimerlat_bpf.c7 static struct timerlat_bpf *bpf; variable
18 bpf = timerlat_bpf__open(); in timerlat_bpf_init()
19 if (!bpf) in timerlat_bpf_init()
52 err = timerlat_bpf__load(bpf); in timerlat_bpf_init()
54 timerlat_bpf__destroy(bpf); in timerlat_bpf_init()
76 timerlat_bpf__detach(bpf); in timerlat_bpf_detach()
84 timerlat_bpf__destroy(bpf); in timerlat_bpf_destroy()
147 bpf->maps.hist_thread, in timerlat_bpf_get_hist_value()
148 bpf->maps.hist_user, in timerlat_bpf_get_hist_value()
162 bpf->maps.summary_thread, in timerlat_bpf_get_summary_value()
[all …]
/linux-6.15/drivers/hid/bpf/progs/
H A DREADME17 Once a .bpf.c file is accepted here, it is duplicated in `udev-hid-bpf`
30 Just run `sudo udev-hid-bpf install ./my-awesome-fix.bpf.o`
34 - copy the `.bpf.o` you want in `/etc/udev-hid-bpf/`
41 $> cp xppen-ArtistPro16Gen2.bpf.o /etc/udev-hid-bpf/
42 $> udev-hid-bpf inspect xppen-ArtistPro16Gen2.bpf.o
45 "name": "xppen-ArtistPro16Gen2.bpf.o",
65 # xppen-ArtistPro16Gen2.bpf.o
66 …5A", RUN{program}+="/usr/local/bin/udev-hid-bpf add $sys$devpath /etc/udev-hid-bpf/xppen-ArtistPro…
68 # xppen-ArtistPro16Gen2.bpf.o
69 …5B", RUN{program}+="/usr/local/bin/udev-hid-bpf add $sys$devpath /etc/udev-hid-bpf/xppen-ArtistPro…
[all …]
H A DMakefile10 BPFTOOL_SRC := $(TOOLS_PATH)/bpf/bpftool
15 LIBBPF_SRC := $(TOOLS_PATH)/lib/bpf
48 SOURCES = $(wildcard *.bpf.c)
49 TARGETS = $(SOURCES:.bpf.c=.bpf.o)
57 %.bpf.o: %.bpf.c vmlinux.h $(BPFOBJ) | $(OUTPUT)
59 $(Q)$(CLANG) -g -O2 --target=bpf -Wall -Werror $(INCLUDES) \
/linux-6.15/tools/testing/selftests/bpf/
H A Dtest_bpftool_build.sh23 if [ ! -e tools/bpf/bpftool/Makefile ]; then
92 make_and_clean tools/bpf
96 make -C tools/bpf/runqslower OUTPUT=${KDIR_ROOT_DIR}/tools/bpf/runqslower/ clean
104 make_with_tmpdir tools/bpf O
113 make_and_clean -C tools/bpf/bpftool
115 make_with_tmpdir -C tools/bpf/bpftool OUTPUT
117 make_with_tmpdir -C tools/bpf/bpftool O
122 make_and_clean bpf
142 make_with_tmpdir bpf O
145 cd bpf/bpftool
H A DMakefile11 BPFDIR := $(LIBDIR)/bpf
14 BPFTOOLDIR := $(TOOLSDIR)/bpf/bpftool
28 BPF_GCC ?= $(shell command -v bpf-gcc;)
98 TEST_GEN_FILES = test_tc_edt.bpf.o
502 test_static_linked.skel.h-deps := test_static_linked1.bpf.o test_static_linked2.bpf.o
503 linked_funcs.skel.h-deps := linked_funcs1.bpf.o linked_funcs2.bpf.o
504 linked_vars.skel.h-deps := linked_vars1.bpf.o linked_vars2.bpf.o
505 linked_maps.skel.h-deps := linked_maps1.bpf.o linked_maps2.bpf.o
508 …_subskeleton.skel.h-deps := test_subskeleton_lib2.bpf.o test_subskeleton_lib.bpf.o test_subskeleto…
509 test_subskeleton_lib.skel.h-deps := test_subskeleton_lib2.bpf.o test_subskeleton_lib.bpf.o
[all …]
/linux-6.15/samples/bpf/
H A DMakefile89 always-y += tracex1.bpf.o
90 always-y += tracex3.bpf.o
91 always-y += tracex4.bpf.o
92 always-y += tracex5.bpf.o
93 always-y += tracex6.bpf.o
98 always-y += offwaketime.bpf.o
99 always-y += spintest.bpf.o
340 $(obj)/xdp_router_ipv4.bpf.o: $(obj)/xdp_sample.bpf.o
342 $(obj)/%.bpf.o: $(src)/%.bpf.c $(obj)/vmlinux.h $(src)/xdp_sample.bpf.h $(src)/xdp_sample_shared.h
353 xdp_router_ipv4.skel.h-deps := xdp_router_ipv4.bpf.o xdp_sample.bpf.o
[all …]
/linux-6.15/drivers/hid/bpf/
H A Dhid_bpf_dispatch.c35 .data = hdev->bpf.device_data, in dispatch_hid_bpf_device_event()
41 if (unlikely(hdev->bpf.destroyed)) in dispatch_hid_bpf_device_event()
48 if (!hdev->bpf.device_data) in dispatch_hid_bpf_device_event()
99 if (unlikely(hdev->bpf.destroyed)) in dispatch_hid_bpf_raw_requests()
171 if (!hdev->bpf.rdesc_ops) in call_hid_bpf_rdesc_fixup()
264 if (hdev->bpf.device_data) in hid_bpf_allocate_event_data()
267 return __hid_bpf_allocate_data(hdev, &hdev->bpf.device_data, &hdev->bpf.allocated_data); in hid_bpf_allocate_event_data()
625 kfree(hdev->bpf.device_data); in hid_bpf_disconnect_device()
626 hdev->bpf.device_data = NULL; in hid_bpf_disconnect_device()
627 hdev->bpf.allocated_data = 0; in hid_bpf_disconnect_device()
[all …]
H A Dhid_bpf_struct_ops.c196 mutex_lock(&hdev->bpf.prog_list_lock); in hid_bpf_reg()
205 if (hdev->bpf.rdesc_ops) { in hid_bpf_reg()
210 hdev->bpf.rdesc_ops = ops; in hid_bpf_reg()
223 synchronize_srcu(&hdev->bpf.srcu); in hid_bpf_reg()
226 mutex_unlock(&hdev->bpf.prog_list_lock); in hid_bpf_reg()
229 if (hdev->bpf.rdesc_ops == ops) in hid_bpf_reg()
230 hdev->bpf.rdesc_ops = NULL; in hid_bpf_reg()
251 mutex_lock(&hdev->bpf.prog_list_lock); in hid_bpf_unreg()
254 synchronize_srcu(&hdev->bpf.srcu); in hid_bpf_unreg()
257 reconnect = hdev->bpf.rdesc_ops == ops; in hid_bpf_unreg()
[all …]
/linux-6.15/drivers/net/netdevsim/
H A Dbpf.c207 if (bpf->command == XDP_SETUP_PROG_HW) { in nsim_xdp_set_prog()
208 err = nsim_xdp_offload_prog(ns, bpf); in nsim_xdp_set_prog()
213 xdp_attachment_setup(xdp, bpf); in nsim_xdp_set_prog()
295 if (bpf->prog && bpf->prog->aux->offload) { in nsim_setup_prog_checks()
299 if (bpf->prog && !bpf->prog->aux->xdp_has_frags && in nsim_setup_prog_checks()
312 if (!bpf->prog) in nsim_setup_prog_hw_checks()
320 state = bpf->prog->aux->offload->dev_priv; in nsim_setup_prog_hw_checks()
555 switch (bpf->command) { in nsim_bpf()
557 err = nsim_setup_prog_checks(ns, bpf); in nsim_bpf()
563 err = nsim_setup_prog_hw_checks(ns, bpf); in nsim_bpf()
[all …]
/linux-6.15/tools/bpf/bpftool/Documentation/
H A Dbpftool-iter.rst35 A bpf iterator combines a kernel iterating of particular kernel data (e.g.,
40 The *pin* command creates a bpf iterator from *OBJ*, and pin it to *PATH*.
44 Map element bpf iterator requires an additional parameter *MAP* so bpf
45 program can iterate over map elements for that map. User can have a bpf
49 User can then *cat PATH* to see the bpf iterator output.
60 **# bpftool iter pin bpf_iter_netlink.o /sys/fs/bpf/my_netlink**
64 Create a file-based bpf iterator from bpf_iter_netlink.o and pin it
65 to /sys/fs/bpf/my_netlink
67 **# bpftool iter pin bpf_iter_hashmap.o /sys/fs/bpf/my_hashmap map id 20**
71 Create a file-based bpf iterator from bpf_iter_hashmap.o and map with
[all …]
/linux-6.15/samples/hid/
H A DMakefile13 LIBBPF_SRC = $(TOOLS_PATH)/lib/bpf
121 BPFTOOLDIR := $(TOOLS_PATH)/bpf/bpftool
199 $(obj)/%.bpf.o: $(src)/%.bpf.c $(EXTRA_BPF_HEADERS_SRC) $(obj)/vmlinux.h
205 -c $(filter %.bpf.c,$^) -o $@
210 hid_mouse.skel.h-deps := hid_mouse.bpf.o
211 hid_surface_dial.skel.h-deps := hid_surface_dial.bpf.o
213 LINKED_BPF_SRCS := $(patsubst %.bpf.o,%.bpf.c,$(foreach skel,$(LINKED_SKELS),$($(skel)-deps)))
216 BPF_OBJS_LINKED := $(patsubst %.bpf.c,$(obj)/%.bpf.o, $(BPF_SRCS_LINKED))
236 -I$(obj) -I$(srctree)/tools/testing/selftests/bpf/ \
246 $(OPT) -O2 -mtriple=bpf-pc-linux | $(LLVM_DIS) | \
[all …]
/linux-6.15/net/core/
H A Dlwt_bpf.c123 struct bpf_lwt *bpf; in bpf_input() local
127 if (bpf->in.prog) { in bpf_input()
146 struct bpf_lwt *bpf; in bpf_output() local
150 if (bpf->out.prog) { in bpf_output()
158 bpf->out.name); in bpf_output()
275 struct bpf_lwt *bpf; in bpf_xmit() local
278 if (bpf->xmit.prog) { in bpf_xmit()
326 bpf_lwt_prog_destroy(&bpf->in); in bpf_destroy_state()
381 struct bpf_lwt *bpf; in bpf_build_state() local
400 bpf = bpf_lwt_lwtunnel(newts); in bpf_build_state()
[all …]
/linux-6.15/kernel/bpf/
H A Dnet_namespace.c85 list_for_each(pos, &net->bpf.links[type]) in link_count()
316 if (!list_empty(&net->bpf.links[type])) { in netns_bpf_prog_attach()
332 attached = net->bpf.progs[type]; in netns_bpf_prog_attach()
353 net->bpf.progs[type] = prog; in netns_bpf_prog_attach()
371 if (!list_empty(&net->bpf.links[type])) in __netns_bpf_prog_detach()
374 attached = net->bpf.progs[type]; in __netns_bpf_prog_detach()
378 net->bpf.progs[type] = NULL; in __netns_bpf_prog_detach()
437 if (net->bpf.progs[type]) { in netns_bpf_link_attach()
534 INIT_LIST_HEAD(&net->bpf.links[type]); in netns_bpf_pernet_init()
551 if (net->bpf.progs[type]) in netns_bpf_pernet_pre_exit()
[all …]
H A Dcgroup.c295 bpf.release_work); in cgroup_bpf_release()
325 cgrp->bpf.effective[atype], in cgroup_bpf_release()
562 desc->bpf.inactive = NULL; in update_effective_progs()
568 desc->bpf.inactive = NULL; in update_effective_progs()
581 desc->bpf.inactive = NULL; in update_effective_progs()
798 head = &cg->bpf.progs[atype]; in replace_effective_prog()
810 desc->bpf.effective[atype], in replace_effective_prog()
950 head = &cg->bpf.progs[atype]; in purge_effective_progs()
964 desc->bpf.effective[atype], in purge_effective_progs()
1004 flags = cgrp->bpf.flags[atype]; in __cgroup_bpf_detach()
[all …]
/linux-6.15/samples/seccomp/
H A DMakefile2 userprogs-always-y += bpf-fancy dropper bpf-direct user-trap
4 bpf-fancy-objs := bpf-fancy.o bpf-helper.o
/linux-6.15/tools/sched_ext/
H A DMakefile45 BPFDIR := $(LIBDIR)/bpf
47 BPFTOOLDIR := $(TOOLSDIR)/bpf/bpftool
120 -I$(CURDIR)/include -I$(CURDIR)/include/bpf-compat \
137 $(APIDIR)/linux/bpf.h \
162 $(SCXOBJ_DIR)/%.bpf.o: %.bpf.c $(INCLUDE_DIR)/vmlinux.h include/scx/*.h \
165 $(Q)$(CLANG) $(BPF_CFLAGS) -target bpf -c $< -o $@
167 $(INCLUDE_DIR)/%.bpf.skel.h: $(SCXOBJ_DIR)/%.bpf.o $(INCLUDE_DIR)/vmlinux.h $(BPFTOOL)
174 $(Q)$(BPFTOOL) gen skeleton $(<:.o=.linked3.o) name $(subst .bpf.skel.h,,$(sched)) > $@
183 $(filter-out %.bpf.c,%.c) \
184 $(INCLUDE_DIR)/%.bpf.skel.h \
[all …]
/linux-6.15/Documentation/userspace-api/ebpf/
H A Dsyscall.rst10 The primary info for the bpf syscall is available in the `man-pages`_
11 for `bpf(2)`_.
13 bpf() subcommand reference
16 .. kernel-doc:: include/uapi/linux/bpf.h
19 .. kernel-doc:: include/uapi/linux/bpf.h
24 .. _bpf(2): https://man7.org/linux/man-pages/man2/bpf.2.html
/linux-6.15/Documentation/translations/zh_CN/userspace-api/ebpf/
H A Dsyscall.rst18 bpf syscall的主要信息可以在 `man-pages`_ 中的 `bpf(2)`_ 找到。
20 bpf() 子命令参考
25 include/uapi/linux/bpf.h
29 .. _bpf(2): https://man7.org/linux/man-pages/man2/bpf.2.html
/linux-6.15/Documentation/bpf/
H A Dbpf_devel_QA.rst27 bpf@vger.kernel.org
62 kernel-patches/bpf's bpf-next_base or bpf_base branch, respectively
78 bpf@vger.kernel.org
108 the 'bpf' delegate).
116 * https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf.git/
117 * https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git/
119 The bpf tree itself is for fixes only, whereas bpf-next for features,
155 maintainers know whether it is targeted at bpf or bpf-next.
173 If it is clear that patches should go into bpf or bpf-next tree,
225 accumulate too many patches in bpf or bpf-next.
[all …]
H A Dprog_lsm.rst23 eBPF programs that use Documentation/bpf/btf.rst do not need to include kernel
58 macros defined in `tools/lib/bpf/bpf_tracing.h`_. In this
91 Documentation/bpf/btf.rst information. Since the BPF verifier is aware of the
98 eBPF programs can be loaded with the :manpage:`bpf(2)` syscall's
120 The LSM allows attachment of eBPF programs as LSM hooks using :manpage:`bpf(2)`
134 `tools/testing/selftests/bpf/progs/lsm.c`_ and the corresponding
135 userspace code in `tools/testing/selftests/bpf/prog_tests/test_lsm.c`_
138 .. _tools/lib/bpf/bpf_tracing.h:
139 https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/tools/lib/bpf/bpf_tracing.h
140 .. _tools/testing/selftests/bpf/progs/lsm.c:
[all …]
/linux-6.15/kernel/bpf/preload/iterators/
H A DMakefile10 BPFTOOL_SRC := $(TOOLS_PATH)/bpf/bpftool
15 LIBBPF_SRC := $(TOOLS_PATH)/lib/bpf
46 iterators.lskel-%.h: $(OUTPUT)/%/iterators.bpf.o | $(BPFTOOL)
50 $(OUTPUT)/%/iterators.bpf.o: iterators.bpf.c $(BPFOBJ) | $(OUTPUT)
53 $(Q)$(CLANG) -g -O2 --target=bpf -m$* $(INCLUDES) \
/linux-6.15/tools/testing/selftests/sched_ext/
H A DMakefile17 BPFDIR := $(LIBDIR)/bpf
19 BPFTOOLDIR := $(TOOLSDIR)/bpf/bpftool
90 -I$(CURDIR)/include -I$(CURDIR)/include/bpf-compat \
108 $(APIDIR)/linux/bpf.h \
134 $(SCXOBJ_DIR)/%.bpf.o: %.bpf.c $(INCLUDE_DIR)/vmlinux.h | $(BPFOBJ) $(SCXOBJ_DIR)
136 $(Q)$(CLANG) $(BPF_CFLAGS) -target bpf -c $< -o $@
138 $(INCLUDE_DIR)/%.bpf.skel.h: $(SCXOBJ_DIR)/%.bpf.o $(INCLUDE_DIR)/vmlinux.h $(BPFTOOL) | $(INCLUDE_…
145 $(Q)$(BPFTOOL) gen skeleton $(<:.o=.linked3.o) name $(subst .bpf.skel.h,,$(sched)) > $@
146 …$(Q)$(BPFTOOL) gen subskeleton $(<:.o=.linked3.o) name $(subst .bpf.skel.h,,$(sched)) > $(@:.skel.…
160 all_test_bpfprogs := $(foreach prog,$(wildcard *.bpf.c),$(INCLUDE_DIR)/$(patsubst %.c,%.skel.h,$(pr…

12345678910>>...14