Home
last modified time | relevance | path

Searched full:programs (Results 1 – 25 of 863) sorted by relevance

12345678910>>...35

/linux/Documentation/bpf/libbpf/
H A Dlibbpf_overview.rst9 heavy lifting of loading, verifying, and attaching BPF programs to various
15 * Provides high-level and low-level APIs for user space programs to interact
16 with BPF programs. The low-level APIs wrap all the bpf system call
18 over the interactions between user space and BPF programs.
20 The skeleton file simplifies the process for the user space programs to access
21 global variables and work with BPF programs.
25 BPF programs that can be compiled once and run across different kernel
35 A BPF application consists of one or more BPF programs (either cooperating or
37 variables are shared between all BPF programs, which allows them to cooperate on
38 a common set of data. libbpf provides APIs that user space programs can use to
[all …]
/linux/Documentation/bpf/
H A Dbpf_design_QA.rst32 A: Because BPF programs are designed to run in the linux kernel
49 Q: Can BPF programs access instruction pointer or return address?
53 Q: Can BPF programs access stack pointer ?
69 BPF programs and programs call kernel helpers with zero overhead,
71 for JITed BPF programs that are indistinguishable from
112 versions will accept all bpf programs that were accepted by
155 workaround would be acceptable. Turned out that programs lose performance
174 programs for 32-bit architectures.
198 A: YES. BPF instructions, arguments to BPF programs, set of helper
200 of ABI. However there is one specific exception to tracing programs
[all …]
H A Dbpf_prog_run.rst4 Running BPF programs from userspace
7 This document describes the ``BPF_PROG_RUN`` facility for running BPF programs
20 can be used to unit test BPF programs against user-supplied context objects, and
21 as way to explicitly execute programs in the kernel for their side effects. The
25 The ``BPF_PROG_RUN`` command can be used to execute BPF programs of the
46 execute the program and return the results to userspace. Note that programs will
49 returned to userspace. A separate mode for live execution of XDP programs is
52 Running XDP programs in "live frame mode"
55 The ``BPF_PROG_RUN`` command has a separate mode for running live XDP programs,
56 which can be used to execute XDP programs in a way where packets will actually
[all …]
H A Dprog_sk_lookup.rst40 Multiple programs can be attached to one network namespace. Programs will be
46 The attached BPF sk_lookup programs run whenever the transport layer needs to
52 The attached BPF programs must return with either ``SK_PASS`` or ``SK_DROP``
65 When multiple programs are attached, the end result is determined from return
66 codes of all the programs according to the following rules:
74 4. If all programs returned ``SK_PASS`` and none of them selected a socket,
H A Dbpf_licensing.rst61 Using BPF programs in the Linux kernel
75 modules. BPF programs can be proprietary if they don't use "GPL only" BPF
83 and struct_ops BPF programs are implicitly calling "GPL only" functions.
84 The same restriction applies to BPF programs that call kernel functions
87 Packaging BPF programs with user space applications
90 Generally, proprietary-licensed applications and GPL licensed BPF programs
92 separate executable processes. This applies to both cBPF and eBPF programs.
H A Dprog_lsm.rst5 LSM BPF Programs
8 These BPF programs allow runtime instrumentation of the LSM hooks by privileged
23 eBPF programs that use Documentation/bpf/btf.rst do not need to include kernel
51 build environment matches the environment the BPF programs are
54 The ``vmlinux.h`` can then simply be included in the BPF programs without
57 The eBPF programs can be declared using the``BPF_PROG``
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)`
H A Ddrgn.rst23 `bpf_inspect.py`_ is a tool intended to inspect BPF programs and maps. It can
24 iterate over all programs and maps in the system and print basic information
27 The main use-case `bpf_inspect.py`_ covers is to show BPF programs of types
29 programs via ``freplace``/``fentry``/``fexit`` mechanisms, since there is no
35 List BPF programs (full names are obtained from BTF)::
49 Find BPF programs attached to BPF program ``test_pkt_access``::
62 are multiple other tracing and ext programs attached to functions in
80 drgn script to list BPF programs or maps and their properties
90 prog (p) list BPF programs
97 information about BPF programs, maps and other objects.
H A Dmap_sockmap.rst28 These maps may have BPF programs attached to them, specifically a parser program
36 ``sk_psock`` inherits the programs that are attached to the map.
40 in having multiple parser programs the update will return an EBUSY error.
42 The supported programs to attach to these maps are:
55 programs to the same map.
57 The attach types for the map programs are:
65 programs: ``bpf_msg_apply_bytes()`` and ``bpf_msg_cork_bytes()``. With
66 ``bpf_msg_apply_bytes()`` BPF programs can tell the infrastructure how many
73 available to ``BPF_PROG_TYPE_SK_MSG`` BPF programs to pull in data and set the
89 This helper is used in programs implementing policies at the socket level. If
[all …]
H A Dmap_cgroup_storage.rst9 storage. It is only available with ``CONFIG_CGROUP_BPF``, and to programs that
10 attach to cgroups; the programs are made available by the same Kconfig. The
39 ``struct bpf_cgroup_storage_key``, then programs of different attach types
49 can be accessed by multiple programs across different CPUs, and user should
140 program, sharing of this cgroup's storage with other BPF programs were
143 Since Linux 5.9, storage can be shared by multiple programs. When a program is
/linux/Documentation/trace/
H A Duser_events.rst13 Programs can view status of the events via
17 Programs can also use /sys/kernel/tracing/dynamic_events to register and
22 Typically programs will register a set of events that they wish to expose to
96 allows programs to prevent themselves from being blocked when their event
103 tracepoint with a new unique id. Recording programs need to scan tracefs for
108 a hex string. Recording programs should ensure the tracepoint name starts with
148 User programs are encouraged to use clearly sized types like u32.
153 This allows user programs to describe custom structs out to tools, if required.
173 event (in both user and kernel space). User programs should use a separate file
177 to the event. If programs do not want auto-delete, they must use the
[all …]
/linux/samples/bpf/
H A Dtcp_bpf.readme2 programs. These programs attach to a cgroupv2. The following commands create
12 (attach) one of the tcp_*_kern.o programs:
19 The tcp_*_kern.o programs use special print functions to print logging
23 cgroupv2 to which the BPF programs are attached (i.e. under bash shell
/linux/tools/bpf/bpftool/Documentation/
H A Dbpftool-prog.rst72 Show information about loaded programs. If *PROG* is specified show
73 information only about given programs, otherwise list all programs
75 match several programs which will all be shown.
80 Since Linux 5.1 the kernel can collect statistics on BPF programs (such as
88 that hold open file descriptors (FDs) against BPF programs. On such kernels
92 Dump eBPF instructions of the programs from the kernel. By default, eBPF
97 In case of **tag** or **name**, *PROG* may match several programs which
108 If the programs have line_info available, the source line will be
134 loadall** pins all programs fro
[all...]
H A Dbpftool-net.rst45 For programs attached to a particular cgroup, e.g.,
49 msg, reuseport} and lwt/seg6 bpf programs, users should consult other
54 flow_dissector and finally netfilter programs. Both xdp programs and
55 tcx/netkit/tc programs are ordered based on ifindex number. If multiple bpf
56 programs attached to the same networking device through **tc**, the order
57 will be first all bpf programs attached to tcx, netkit, then tc classes,
58 then all bpf programs attached to non clsact qdiscs, and finally all bpf
59 programs attached to root and clsact qdisc.
H A Dbpftool-gen.rst56 shorten and simplify code to load and work with BPF programs from userspace
64 In addition to simple and reliable access to maps and programs, skeleton
66 within BPF object. When requested, supported BPF programs will be
68 user in pre-allocated fields in skeleton struct. For BPF programs that
73 support to detach programs and free up resources.
91 keep working with specific maps, programs, etc.
106 This function creates maps, loads and verifies BPF programs, initializes
115 already loaded BPF object. Only BPF programs of types supported by libbpf
117 links instantiated. For other BPF programs, user can manually create a
123 Detach and unload BPF programs, fre
[all...]
H A Dbpftool-cgroup.rst53 List all programs attached to the cgroup *CGROUP*.
58 If **effective** is specified retrieve effective programs that will execute
63 Iterate over all cgroups in *CGROUP_ROOT* and list all attached programs.
70 If **effective** is specified retrieve effective programs that will execute
87 Multiple programs are allowed to be attached to a cgroup with **multi**.
135 Show file names of pinned programs.
/linux/kernel/bpf/preload/
H A DKconfig10 This builds kernel module with several embedded BPF programs that are
12 useful in debugging and introspection of BPF programs and maps.
19 This builds bpf_preload kernel module with embedded BPF programs for
/linux/kernel/bpf/
H A DKconfig39 Enable the bpf() system call that allows to manipulate BPF programs
48 BPF programs are normally handled by a BPF interpreter. This option
51 programs.
99 Enables instrumentation of the security hooks with BPF programs for
/linux/Documentation/hid/
H A Dhid-bpf.rst53 Note: distribution of eBPF programs and their inclusion in the kernel is not
132 In-tree HID-BPF programs and ``udev-hid-bpf``
149 Available types of programs
153 declare our programs.
189 User API data structures available in programs:
195 Available API that can be used in all HID-BPF struct_ops programs:
201 Available API that can be used in syscall HID-BPF programs or in sleepable HID-BPF struct_ops progr…
249 programs can be attached to the same device. If a HID-BPF struct_ops has a
258 Note that if there are multiple programs using the ``BPF_F_BEFORE`` flag,
264 Whenever a matching event is raised, the eBPF programs are called one after the other
[all …]
/linux/tools/testing/selftests/bpf/prog_tests/
H A Dcgroup_attach_autodetach.c43 /* create a cgroup, attach two programs and remember their ids */ in serial_test_cgroup_attach_autodetach()
58 /* make sure that programs are attached and run some traffic */ in serial_test_cgroup_attach_autodetach()
71 /* close programs and cgroup fd */ in serial_test_cgroup_attach_autodetach()
80 /* leave the cgroup and remove it. don't detach programs */ in serial_test_cgroup_attach_autodetach()
/linux/include/linux/
H A Dhid_bpf.h17 * it might break existing out of the tree bpf programs.
21 * struct hid_bpf_ctx - User accessible data for all HID programs
35 * Programs can get the available valid size in data by fetching this field.
36 * Programs can also change this value by returning a positive number in the
41 * once all BPF programs have been run).
85 * programs to a HID device
/linux/include/uapi/linux/
H A Dlandlock.h77 * By default, denied accesses originating from programs that sandbox themselves
81 * program are not logged by default. The rationale is that programs should know
82 * their own behavior, but not necessarily the behavior of other programs. This
83 * default configuration is suitable for most programs that sandbox themselves.
84 * For specific use cases, the following flags allow programs to modify this
95 * :manpage:`execve(2)` call). This is intended for programs that execute
97 * interpreters. Programs that only sandbox themselves should not set this
104 * programs within the created Landlock domain. This flag is recommended
114 * sandboxing tools that may launch programs which themselves create
/linux/Documentation/admin-guide/
H A Dserial-console.rst127 Programs that want to do something with the virtual console usually
129 and your console is NOT the virtual console some programs will fail.
130 Those are programs that want to access the VT interface, and use
131 ``/dev/console instead of /dev/tty0``. Some of those programs are::
135 It should be fixed in modern versions of these programs though.
/linux/security/
H A DKconfig67 WARNING: This feature breaks programs which rely on relocating
184 Programs which use vm86 functionality or have some need to map
192 binary programs through the "usermode helper" kernel
204 and choose what real programs are called.
206 If you wish for all usermode helper programs are to be
220 If you wish for all usermode helper programs to be disabled,
/linux/Documentation/kbuild/
H A Dmakefiles.rst756 Composite Host Programs
759 Host programs can be made up based on composite objects.
760 The syntax used to define composite objects for host programs is
776 Note: The syntax <executable>-y is not permitted for host-programs.
778 Using C++ for host programs
781 kbuild offers support for host programs written in C++. This was
804 Using Rust for host programs
807 Kbuild offers support for host programs written in Rust. However,
821 Controlling compiler options for host programs
824 When compiling host programs, it is possible to set specific flags.
[all …]
/linux/security/tomoyo/
H A DKconfig24 Some programs access thousands of objects, so running
25 such programs in "learning mode" dulls the system response
27 This is the safeguard for such programs.

12345678910>>...35