/linux/tools/net/sunrpc/xdrgen/generators/ |
H A D | program.py | 4 """Generate code for an RPC program's procedures""" 13 environment: Environment, program: str, version: _RpcVersion 17 print(template.render(program=program.upper())) 34 environment: Environment, program: str, version: _RpcVersion 45 print(template.render(program=program, argument=argument)) 55 print(template.render(program=program, result=result)) 59 environment: Environment, program: str, version: _RpcVersion 69 print(template.render(program=program, argument=argument)) 73 environment: Environment, program: str, version: _RpcVersion 83 print(template.render(program=program, result=result)) [all …]
|
/linux/tools/usb/usbip/ |
H A 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/LICENSES/preferred/ |
H A 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/LICENSES/deprecated/ |
H A D | GPL-1.0 | 29 software and to any other program whose authors commit to using it. 44 For example, if you distribute copies of a such a program, whether 66 0. This License Agreement applies to any program or other work which 69 "Program", below, refers to any such program or work, and a "work based 70 on the Program" means either the Program or any work containing the 71 Program or a portion of it, either verbatim or with modifications. Each 74 1. You may copy and distribute verbatim copies of the Program's source 79 other recipients of the Program a copy of this General Public License 80 along with the Program. You may charge a fee for the physical act of 83 2. You may modify your copy or copies of the Program or any portion of [all …]
|
/linux/Documentation/bpf/ |
H A 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 …]
|
H A 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 …]
|
H A 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 …]
|
H A 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 …]
|
H A 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 …]
|
H A 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 …]
|
H A D | prog_lsm.rst | 15 The example shows an eBPF program that can be attached to the ``file_mprotect`` 24 headers for accessing information from the attached eBPF program's context. 25 They can simply declare the structures in the eBPF program and only specify 61 * ``"lsm/file_mprotect"`` indicates the LSM hook that the program must 63 * ``mprotect_audit`` is the name of the eBPF program 71 /* ret is the return value from the previous BPF program 93 eBPF program. 114 and the program can be loaded by including ``my_prog.skel.h`` and using 124 The program can be detached from the LSM hook by *destroying* the ``link`` 133 An example eBPF program can be found in
|
/linux/tools/testing/selftests/bpf/prog_tests/ |
H A D | xdp_devmap_attach.c | 42 if (!ASSERT_OK(err, "Generic attach of program with 8-byte devmap")) in test_xdp_with_devmap_helpers() 53 ASSERT_OK(err, "Add program to devmap entry"); in test_xdp_with_devmap_helpers() 57 ASSERT_EQ(info.id, val.bpf_prog.id, "Match program id to devmap entry prog_id"); in test_xdp_with_devmap_helpers() 73 ASSERT_OK(err, "XDP program detach"); in test_xdp_with_devmap_helpers() 75 /* can not attach BPF_XDP_DEVMAP program to a device */ in test_xdp_with_devmap_helpers() 77 if (!ASSERT_NEQ(err, 0, "Attach of BPF_XDP_DEVMAP program")) in test_xdp_with_devmap_helpers() 83 ASSERT_NEQ(err, 0, "Add non-BPF_XDP_DEVMAP program to devmap entry"); in test_xdp_with_devmap_helpers() 85 /* Try to attach BPF_XDP program with frags to devmap when we have in test_xdp_with_devmap_helpers() 86 * already loaded a BPF_XDP program on the map in test_xdp_with_devmap_helpers() 92 ASSERT_NEQ(err, 0, "Add BPF_XDP program wit in test_xdp_with_devmap_helpers() [all...] |
H A D | xdp_cpumap_attach.c | 37 if (!ASSERT_OK(err, "Generic attach of program with 8-byte CPUMAP")) in test_xdp_with_cpumap_helpers() 48 ASSERT_OK(err, "Add program to cpumap entry"); in test_xdp_with_cpumap_helpers() 52 ASSERT_EQ(info.id, val.bpf_prog.id, "Match program id to cpumap entry prog_id"); in test_xdp_with_cpumap_helpers() 72 ASSERT_OK(err, "XDP program detach"); in test_xdp_with_cpumap_helpers() 74 /* can not attach BPF_XDP_CPUMAP program to a device */ in test_xdp_with_cpumap_helpers() 76 if (!ASSERT_NEQ(err, 0, "Attach of BPF_XDP_CPUMAP program")) in test_xdp_with_cpumap_helpers() 82 ASSERT_NEQ(err, 0, "Add non-BPF_XDP_CPUMAP program to cpumap entry"); in test_xdp_with_cpumap_helpers() 84 /* Try to attach BPF_XDP program with frags to cpumap when we have in test_xdp_with_cpumap_helpers() 85 * already loaded a BPF_XDP program on the map in test_xdp_with_cpumap_helpers() 91 ASSERT_NEQ(err, 0, "Add BPF_XDP program with frags to cpumap entry"); in test_xdp_with_cpumap_helpers() [all …]
|
/linux/Documentation/hid/ |
H A 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 162 A ``hid_device_event`` is calling a BPF program when an event is received from 171 BPF program of this type. This is called on ``probe`` from the driver and allows to [all …]
|
/linux/tools/testing/selftests/bpf/progs/ |
H A D | verifier_sock_addr.c | 17 __failure __msg("At program exit the register R0 has smin=0 smax=0 should have been in [1, 1]") 31 __failure __msg("At program exit the register R0 has smin=0 smax=0 should have been in [1, 1]") 45 __failure __msg("At program exit the register R0 has smin=0 smax=0 should have been in [1, 1]") 66 __failure __msg("At program exit the register R0 has smin=2 smax=2 should have been in [0, 1]") 87 __failure __msg("At program exit the register R0 has smin=2 smax=2 should have been in [0, 1]") 108 __failure __msg("At program exit the register R0 has smin=2 smax=2 should have been in [0, 1]") 122 __failure __msg("At program exit the register R0 has smin=0 smax=0 should have been in [1, 1]") 136 __failure __msg("At program exit the register R0 has smin=0 smax=0 should have been in [1, 1]") 150 __failure __msg("At program exit the register R0 has smin=0 smax=0 should have been in [1, 1]") 164 __failure __msg("At program exit the register R0 has smin=0 smax=0 should have been in [1, 1]") [all …]
|
H A D | bpf_misc.h | 15 * The test_loader sequentially loads each program in a skeleton. 26 * For test filtering purposes the name of the program loaded in 27 * unprivileged mode is derived from the usual program name by adding 56 * __jited Match a line in a disassembly of the jited BPF program. 89 * __success Expect program load success in privileged mode. 90 * __success_unpriv Expect program load success in unprivileged mode. 92 * __failure Expect program load failure in privileged mode. 93 * __failure_unpriv Expect program load failure in unprivileged mode. 95 * __retval Execute the program using BPF_PROG_TEST_RUN command, 104 * __retval_unpriv Same, but load program i [all...] |
/linux/drivers/fpga/ |
H A 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/drivers/comedi/drivers/ |
H A 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/tools/bpf/bpftool/Documentation/ |
H A D | bpftool-prog.rst | 77 Output will start with program ID followed by program type and zero or more 81 the total time spent running the program, and the number of times it was 84 program run. Activation or deactivation of the feature is performed via the 99 *PROG* must match a single program. 113 Dump jited image (host machine code) of the program. 116 be disassembled and printed to stdout. *PROG* must match a single program 126 Pin program *PROG* as *FILE*. 132 Load bpf program(s) from binary *OBJ* and pin as *PATH*. **bpftool prog 133 load** pins only the first program fro [all...] |
H A D | bpftool-cgroup.rst | 55 Output will start with program ID followed by attach type, attach flags and 56 program name. 67 with absolute cgroup path, followed by program ID, attach type, attach 68 flags and program name. 75 Attach program *PROG* to the cgroup *CGROUP* with attach type *ATTACH_TYPE* 79 bpf program, the program in this cgroup yields to sub-cgroup program; 80 **multi** if a sub-cgroup installs some bpf program, that cgroup program 81 gets run in addition to the program in this cgroup. 83 Only one program is allowed to be attached to a cgroup with no attach flags 84 or the **override** flag. Attaching another program will release old [all …]
|
/linux/Documentation/networking/ |
H A D | xdp-rx-metadata.rst | 7 This document describes how an eXpress Data Path (XDP) program can access 31 An XDP program can use these kfuncs to read the metadata into stack 33 consumers, an XDP program can store it into the metadata area carried 52 An XDP program can store individual metadata items into this ``data_meta`` 61 program that redirects XDP frames into the ``AF_XDP`` socket (``XSK``) and 62 the final consumer. Thus the BPF program manually allocates a fixed number of 82 This is the path where the packets processed by the XDP program are passed 90 In the future, we'd like to support a case where an XDP program 98 program after the redirect. However, the final consumer doesn't have 104 currently supported, which has to be prepared by the initial XDP program [all …]
|
/linux/include/uapi/linux/ |
H A 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 */ 38 #define AT_EXECFN 31 /* filename of program */
|
/linux/tools/testing/selftests/net/ |
H A D | bpf_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 207 raise Exception("Time out waiting for program counts to stabilize want %d, have %d" % (expected, nprogs)) 408 raise Exception("Time out waiting for program counts to stabilize want %d/%d, have %d bound, %d loaded" % (bound, total, nbound, nprogs)) 440 "XDP program not reporting in iplink (reported %s, expected %s)" % 588 fail(dev != m["dev"], "Map's device different than program's") 614 fail("prog" in two_xdps, "Base program reported in multi program mode") 616 "Wrong attached program coun [all...] |
/linux/Documentation/admin-guide/nfs/ |
H A 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/tools/lib/bpf/ |
H A D | libbpf.h | 58 LIBBPF_ERRNO__LOAD, /* Load program failure for unknown reason */ 59 LIBBPF_ERRNO__VERIFY, /* Kernel verifier blocks program loading */ 60 LIBBPF_ERRNO__PROG2BIG, /* Program too big */ 62 LIBBPF_ERRNO__PROGTYPE, /* Kernel doesn't support this program type */ 107 * @brief **libbpf_bpf_prog_type_str()** converts the provided program type 109 * @param t The program type. 110 * @return Pointer to a static string identifying the program type. NULL is 181 * with bpf_program__set_log() on per-program level, to get 188 * per-program buffer with bpf_program__set_log_buf() to preserve each 189 * individual program' [all...] |