/Linux-v6.6/tools/usb/usbip/ |
D | COPYING | 16 Foundation's software and to any other program whose authors commit to 33 For example, if you distribute copies of such a program, whether 50 Finally, any free program is threatened constantly by software 52 program will individually obtain patent licenses, in effect making the 53 program proprietary. To prevent this, we have made it clear that any 62 0. This License applies to any program or other work which contains 64 under the terms of this General Public License. The "Program", below, 65 refers to any such program or work, and a "work based on the Program" 66 means either the Program or any derivative work under copyright law: 67 that is to say, a work containing the Program or a portion of it, [all …]
|
/Linux-v6.6/LICENSES/preferred/ |
D | GPL-2.0 | 35 Foundation's software and to any other program whose authors commit to 52 For example, if you distribute copies of such a program, whether 69 Finally, any free program is threatened constantly by software 71 program will individually obtain patent licenses, in effect making the 72 program proprietary. To prevent this, we have made it clear that any 81 0. This License applies to any program or other work which contains 83 under the terms of this General Public License. The "Program", below, 84 refers to any such program or work, and a "work based on the Program" 85 means either the Program or any derivative work under copyright law: 86 that is to say, a work containing the Program or a portion of it, [all …]
|
/Linux-v6.6/LICENSES/deprecated/ |
D | GPL-1.0 | 28 software and to any other program whose authors commit to using it. 43 For example, if you distribute copies of a such a program, whether 65 0. This License Agreement applies to any program or other work which 68 "Program", below, refers to any such program or work, and a "work based 69 on the Program" means either the Program or any work containing the 70 Program or a portion of it, either verbatim or with modifications. Each 73 1. You may copy and distribute verbatim copies of the Program's source 78 other recipients of the Program a copy of this General Public License 79 along with the Program. You may charge a fee for the physical act of 82 2. You may modify your copy or copies of the Program or any portion of [all …]
|
/Linux-v6.6/Documentation/hid/ |
D | hid-bpf.rst | 38 HID-BPF allows the userspace program to load the program itself, ensuring we 48 We can reduce this burden by providing an eBPF program instead. Once such a 49 program has been verified by the user, we can embed the source code into the 50 kernel tree and ship the eBPF program and load it directly instead of loading 80 events into wheel events. Also, the userspace program can set/unset the haptic 96 kernel/bpf program because we can intercept any incoming command. 119 program. 128 When a BPF program needs to emit input events, it needs to talk with the HID 144 A ``hid_bpf_device_event`` is calling a BPF program when an event is received from 153 BPF program of this type. This is called on ``probe`` from the driver and allows to [all …]
|
/Linux-v6.6/Documentation/bpf/ |
D | bpf_prog_run.rst | 19 execute a BPF program in the kernel and return the results to userspace. This 44 object and (for program types operating on network packets) a buffer containing 45 the packet data that the BPF program will operate on. The kernel will then 46 execute the program and return the results to userspace. Note that programs will 48 will not actually be redirected or dropped, the program return code will just be 57 be processed by the kernel after the execution of the XDP program as if they 59 ``BPF_F_TEST_XDP_LIVE_FRAMES`` flag when supplying an XDP program to 63 XDP program many times (suitable for, e.g., running as a traffic generator), 67 - When executing an XDP program in live frame mode, the result of the execution 69 operation indicated by the program's return code (drop the packet, redirect [all …]
|
D | map_cgroup_storage.rst | 11 storage is identified by the cgroup the program is attached to. 13 The map provide a local storage at the cgroup that the BPF program is attached 34 ``attach_type`` is the program's attach type. 42 To access the storage in a program, use ``bpf_get_local_storage``:: 67 int program(struct __sk_buff *skb) 102 int program(struct __sk_buff *skb) 131 for a single ``CGROUP_STORAGE`` map, there can be at most one program loaded 132 that uses the map. A program may be attached to multiple cgroups or have 137 non-per-CPU) and the BPF program during load verification time. As a result, 138 each map can only be used by one BPF program and each BPF program can only use [all …]
|
D | bpf_iterators.rst | 34 A BPF iterator is a type of BPF program that allows users to iterate over 45 A BPF program is always loaded into the kernel at the behest of a user space 46 process. A user space process loads a BPF program by opening and initializing 47 the program skeleton as required and then invoking a syscall to have the BPF 48 program verified and loaded by the kernel. 50 In traditional tracing programs, a program is activated by having user space 51 obtain a ``bpf_link`` to the program with ``bpf_program__attach()``. Once 52 activated, the program callback will be invoked whenever the tracepoint is 54 program is obtained using ``bpf_link_create()``, and the program callback is 66 a BPF iterator program. To begin, we’ll look at `bpf_iter.c [all …]
|
D | prog_sk_lookup.rst | 4 BPF sk_lookup program 7 BPF sk_lookup program type (``BPF_PROG_TYPE_SK_LOOKUP``) introduces programmability 11 When invoked BPF sk_lookup program can select a socket that will receive the 19 BPF sk_lookup program type was introduced to address setup scenarios where 36 BPF sk_lookup program can be attached to a network namespace with 53 verdict code. As for other BPF program types that are network filters, 58 A BPF sk_lookup program can also select a socket to receive the packet by 59 calling ``bpf_sk_assign()`` BPF helper. Typically, the program looks up a socket 62 selection. Selecting a socket only takes effect if the program has terminated 68 1. If any program returned ``SK_PASS`` and selected a valid socket, the socket [all …]
|
D | prog_cgroup_sockopt.rst | 7 ``BPF_PROG_TYPE_CGROUP_SOCKOPT`` program type can be attached to two 26 If BPF program sets ``optlen`` to -1, the control will be returned 38 * ``1`` - success, continue with next BPF program in the cgroup chain. 62 the BPF program from the parent cgroup). 76 the programs are executed from the bottom up: B, A. First program 79 control will be passed to the second (A) program which will see the 82 Same for ``BPF_CGROUP_SETSOCKOPT``: if the program is attached to 85 then the next program in the chain (A) will see those changes, 91 When the ``optval`` is greater than the ``PAGE_SIZE``, the BPF program 96 done by the BPF program to the ``optval`` are ignored. [all …]
|
D | prog_cgroup_sysctl.rst | 7 This document describes ``BPF_PROG_TYPE_CGROUP_SYSCTL`` program type that 17 ``BPF_PROG_TYPE_CGROUP_SYSCTL`` program to a cgroup. 23 BPF program:: 49 ``BPF_PROG_TYPE_CGROUP_SYSCTL`` program must return one of the following 55 If program returns ``0`` user space will get ``-1`` from ``read(2)`` or 65 ``/proc/sys`` into provided by BPF program buffer; 68 sysctl into provided by BPF program buffer. This helper is available on both 78 has to be overridden BPF program can set ``file_pos`` to zero before calling 83 BPF program sees sysctl value same way as user space does in proc filesystem, 98 See `test_sysctl_prog.c`_ for an example of BPF program in C that access [all …]
|
D | map_sockmap.rst | 14 the result of a BPF (verdict) program with the help of the BPF helpers 28 These maps may have BPF programs attached to them, specifically a parser program 29 and a verdict program. The parser program determines how much data has been 31 verdict program is essentially the redirect program and can return a verdict 39 parse or verdict program. If adding a sock object to a map would result 59 - ``msg_parser`` program - ``BPF_SK_MSG_VERDICT``. 60 - ``stream_parser`` program - ``BPF_SK_SKB_STREAM_PARSER``. 61 - ``stream_verdict`` program - ``BPF_SK_SKB_STREAM_VERDICT``. 62 - ``skb_verdict`` program - ``BPF_SK_SKB_VERDICT``. 68 handles a different case where a BPF program cannot reach a verdict on a msg [all …]
|
/Linux-v6.6/tools/testing/selftests/bpf/prog_tests/ |
D | xdp_devmap_attach.c | 30 if (!ASSERT_OK(err, "Generic attach of program with 8-byte devmap")) in test_xdp_with_devmap_helpers() 34 ASSERT_OK(err, "XDP program detach"); in test_xdp_with_devmap_helpers() 44 ASSERT_OK(err, "Add program to devmap entry"); in test_xdp_with_devmap_helpers() 48 ASSERT_EQ(info.id, val.bpf_prog.id, "Match program id to devmap entry prog_id"); in test_xdp_with_devmap_helpers() 50 /* can not attach BPF_XDP_DEVMAP program to a device */ in test_xdp_with_devmap_helpers() 52 if (!ASSERT_NEQ(err, 0, "Attach of BPF_XDP_DEVMAP program")) in test_xdp_with_devmap_helpers() 58 ASSERT_NEQ(err, 0, "Add non-BPF_XDP_DEVMAP program to devmap entry"); in test_xdp_with_devmap_helpers() 60 /* Try to attach BPF_XDP program with frags to devmap when we have in test_xdp_with_devmap_helpers() 61 * already loaded a BPF_XDP program on the map in test_xdp_with_devmap_helpers() 67 ASSERT_NEQ(err, 0, "Add BPF_XDP program with frags to devmap entry"); in test_xdp_with_devmap_helpers() [all …]
|
D | xdp_cpumap_attach.c | 28 if (!ASSERT_OK(err, "Generic attach of program with 8-byte CPUMAP")) in test_xdp_with_cpumap_helpers() 32 ASSERT_OK(err, "XDP program detach"); in test_xdp_with_cpumap_helpers() 42 ASSERT_OK(err, "Add program to cpumap entry"); in test_xdp_with_cpumap_helpers() 46 ASSERT_EQ(info.id, val.bpf_prog.id, "Match program id to cpumap entry prog_id"); in test_xdp_with_cpumap_helpers() 48 /* can not attach BPF_XDP_CPUMAP program to a device */ in test_xdp_with_cpumap_helpers() 50 if (!ASSERT_NEQ(err, 0, "Attach of BPF_XDP_CPUMAP program")) in test_xdp_with_cpumap_helpers() 56 ASSERT_NEQ(err, 0, "Add non-BPF_XDP_CPUMAP program to cpumap entry"); in test_xdp_with_cpumap_helpers() 58 /* Try to attach BPF_XDP program with frags to cpumap when we have in test_xdp_with_cpumap_helpers() 59 * already loaded a BPF_XDP program on the map in test_xdp_with_cpumap_helpers() 65 ASSERT_NEQ(err, 0, "Add BPF_XDP program with frags to cpumap entry"); in test_xdp_with_cpumap_helpers() [all …]
|
/Linux-v6.6/tools/testing/selftests/bpf/progs/ |
D | bpf_misc.h | 8 * The test_loader sequentially loads each program in a skeleton. 19 * For test filtering purposes the name of the program loaded in 20 * unprivileged mode is derived from the usual program name by adding 27 * __success Expect program load success in privileged mode. 28 * __success_unpriv Expect program load success in unprivileged mode. 30 * __failure Expect program load failure in privileged mode. 31 * __failure_unpriv Expect program load failure in unprivileged mode. 33 * __retval Execute the program using BPF_PROG_TEST_RUN command, 40 * __retval_unpriv Same, but load program in unprivileged mode. 42 * __description Text to be used instead of a program name for display [all …]
|
/Linux-v6.6/include/linux/ |
D | hid_bpf.h | 27 * @index: program index in the jump table. No special meaning (a smaller index 28 * doesn't mean the program will be executed before another program with 35 * by the HID program. 42 * program. 47 * @retval: Return value of the previous program. 61 * enum hid_bpf_attach_flags - flags used when attaching a HIF-BPF program 64 * insert the program 65 * @HID_BPF_FLAG_INSERT_HEAD: insert the given program before any other program 67 * guarantee that this program will always be first 130 u8 *device_data; /* allocated when a bpf program of type [all …]
|
/Linux-v6.6/drivers/fpga/ |
D | lattice-sysconfig.c | 91 struct gpio_desc *program = priv->program; in sysconfig_gpio_refresh() local 97 gpiod_set_value(program, 1); in sysconfig_gpio_refresh() 106 /* Enter program mode */ in sysconfig_gpio_refresh() 107 gpiod_set_value(program, 0); in sysconfig_gpio_refresh() 128 struct gpio_desc *program = priv->program; in sysconfig_refresh() local 132 if (program && init && done) in sysconfig_refresh() 285 /* Enter program mode */ in sysconfig_ops_write_init() 288 dev_err(dev, "Failed to go to program mode\n"); in sysconfig_ops_write_init() 355 struct gpio_desc *program, *init, *done; in sysconfig_probe() local 370 program = devm_gpiod_get_optional(dev, "program", GPIOD_OUT_LOW); in sysconfig_probe() [all …]
|
/Linux-v6.6/drivers/pwm/ |
D | pwm-stmpe.c | 103 u16 program[3] = { in stmpe_24xx_pwm_config() local 158 program[0] = SMAX; /* off all the time */ in stmpe_24xx_pwm_config() 161 program[0] = LOAD | 0xff; /* LOAD 0xff */ in stmpe_24xx_pwm_config() 166 program[0] = SMIN; /* on all the time */ in stmpe_24xx_pwm_config() 169 program[0] = LOAD | 0x00; /* LOAD 0x00 */ in stmpe_24xx_pwm_config() 192 /* Run the old program */ in stmpe_24xx_pwm_config() 199 program[0] = LOAD | value; in stmpe_24xx_pwm_config() 200 program[1] = 0x0000; in stmpe_24xx_pwm_config() 202 /* STMPE2401 need a complex program */ in stmpe_24xx_pwm_config() 213 program[0] = PRESCALE_512 | STEPTIME_1 | incdec; in stmpe_24xx_pwm_config() [all …]
|
/Linux-v6.6/include/uapi/linux/ |
D | auxvec.h | 11 #define AT_EXECFD 2 /* file descriptor of program */ 12 #define AT_PHDR 3 /* program headers for program */ 13 #define AT_PHENT 4 /* size of program header entry */ 14 #define AT_PHNUM 5 /* number of program headers */ 18 #define AT_ENTRY 9 /* entry point of program */ 19 #define AT_NOTELF 10 /* program is not ELF */ 36 #define AT_EXECFN 31 /* filename of program */
|
/Linux-v6.6/drivers/comedi/drivers/ |
D | dt2815.c | 28 * [4] - Firmware program configuration 29 * 0 == program 1 (see manual table 5-4) 30 * 1 == program 2 (see manual table 5-4) 31 * 2 == program 3 (see manual table 5-4) 32 * 3 == program 4 (see manual table 5-4) 124 * options[4] Firmware program configuration 125 * 0 == program 1 (see manual table 5-4) 126 * 1 == program 2 (see manual table 5-4) 127 * 2 == program 3 (see manual table 5-4) 128 * 3 == program 4 (see manual table 5-4) [all …]
|
/Linux-v6.6/tools/bpf/bpftool/Documentation/ |
D | bpftool-prog.rst | 75 Output will start with program ID followed by program type and 79 programs (such as the total time spent running the program, 83 program run. Activation or deactivation of the feature is 99 **visual** is specified, *PROG* must match a single program. 113 Dump jited image (host machine code) of the program. 117 *PROG* must match a single program when **file** is specified. 126 Pin program *PROG* as *FILE*. 133 Load bpf program(s) from binary *OBJ* and pin as *PATH*. 134 **bpftool prog load** pins only the first program from the 137 **type** is optional, if not specified program type will be [all …]
|
D | bpftool-cgroup.rst | 52 Output will start with program ID followed by attach type, 53 attach flags and program name. 66 program ID, attach type, attach flags and program name. 73 Attach program *PROG* to the cgroup *CGROUP* with attach type 77 some bpf program, the program in this cgroup yields to sub-cgroup 78 program; **multi** if a sub-cgroup installs some bpf program, 79 that cgroup program gets run in addition to the program in this 82 Only one program is allowed to be attached to a cgroup with 84 program will release old program and attach the new one.
|
/Linux-v6.6/Documentation/networking/ |
D | xdp-rx-metadata.rst | 5 This document describes how an eXpress Data Path (XDP) program can access 23 An XDP program can use these kfuncs to read the metadata into stack 25 consumers, an XDP program can store it into the metadata area carried 44 An XDP program can store individual metadata items into this ``data_meta`` 53 program that redirects XDP frames into the ``AF_XDP`` socket (``XSK``) and 54 the final consumer. Thus the BPF program manually allocates a fixed number of 74 This is the path where the packets processed by the XDP program are passed 82 In the future, we'd like to support a case where an XDP program 90 program after the redirect. However, the final consumer doesn't have 96 currently supported, which has to be prepared by the initial XDP program [all …]
|
/Linux-v6.6/Documentation/admin-guide/nfs/ |
D | nfs-idmapper.rst | 29 ``#OP TYPE DESCRIPTION CALLOUT INFO PROGRAM ARG1 ARG2 ARG3 ...`` 34 This will direct all id_resolver requests to the program /usr/sbin/nfs.idmap. 47 program. If you would like to use your own program for a uid lookup then you 50 ``#OP TYPE DESCRIPTION CALLOUT INFO PROGRAM ARG1 ARG2 ARG3 ...`` 52 ``create id_resolver uid:* * /some/other/program %k %d 600`` 56 Notice that the new line was added above the line for the generic program. 57 request-key will find the first matching line and corresponding program. In 58 this case, /some/other/program will handle all uid lookups and 69 hand". This program takes two arguments, a serialized key and a key
|
/Linux-v6.6/tools/testing/selftests/bpf/ |
D | test_offload.py | 10 # THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" 14 # OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME 200 …raise Exception("Time out waiting for program counts to stabilize want %d, have %d" % (expected, n… 466 …raise Exception("Time out waiting for program counts to stabilize want %d/%d, have %d bound, %d lo… 498 "XDP program not reporting in iplink (reported %s, expected %s)" % 648 fail(dev != m["dev"], "Map's device different than program's") 673 fail("prog" in two_xdps, "Base program reported in multi program mode") 675 "Wrong attached program count with two programs") 697 fail("prog" not in xdp, "Base program not reported in single program mode") 699 "Wrong attached program count with one program") [all …]
|
/Linux-v6.6/tools/lib/bpf/ |
D | libbpf.h | 41 LIBBPF_ERRNO__LOAD, /* Load program failure for unknown reason */ 42 LIBBPF_ERRNO__VERIFY, /* Kernel verifier blocks program loading */ 43 LIBBPF_ERRNO__PROG2BIG, /* Program too big */ 45 LIBBPF_ERRNO__PROGTYPE, /* Kernel doesn't support this program type */ 82 * @brief **libbpf_bpf_prog_type_str()** converts the provided program type 84 * @param t The program type. 85 * @return Pointer to a static string identifying the program type. NULL is 153 * with bpf_program__set_log() on per-program level, to get 160 * per-program buffer with bpf_program__set_log_buf() to preserve each 161 * individual program's verification log. Keep using kernel_log_buf [all …]
|