/linux-6.6.21/drivers/hid/bpf/ |
D | hid_bpf_jmp_table.c | 51 static struct hid_bpf_jmp_table jmp_table; variable 84 FOR_ENTRIES(i, jmp_table.tail, jmp_table.head) { in hid_bpf_program_count() 85 struct hid_bpf_prog_entry *entry = &jmp_table.entries[i]; in hid_bpf_program_count() 122 if (!test_bit(idx, jmp_table.enabled)) in hid_bpf_prog_run() 177 FOR_ENTRIES(i, jmp_table.tail, jmp_table.head) { in hid_bpf_populate_hdev() 178 struct hid_bpf_prog_entry *entry = &jmp_table.entries[i]; in hid_bpf_populate_hdev() 181 test_bit(entry->idx, jmp_table.enabled)) in hid_bpf_populate_hdev() 193 jmp_table.progs[idx] = NULL; in __hid_bpf_do_release_prog() 201 if (!jmp_table.map) in hid_bpf_release_progs() 205 map_fd = skel_map_get_fd_by_id(jmp_table.map->id); in hid_bpf_release_progs() [all …]
|
/linux-6.6.21/tools/testing/selftests/bpf/progs/ |
D | tailcall1.c | 11 } jmp_table SEC(".maps"); 29 bpf_tail_call_static(skb, &jmp_table, 0); in entry() 30 bpf_tail_call_static(skb, &jmp_table, 0); in entry() 31 bpf_tail_call_static(skb, &jmp_table, 0); in entry() 32 bpf_tail_call_static(skb, &jmp_table, 0); in entry() 34 bpf_tail_call_static(skb, &jmp_table, 1); in entry() 35 bpf_tail_call_static(skb, &jmp_table, 1); in entry() 36 bpf_tail_call_static(skb, &jmp_table, 1); in entry() 37 bpf_tail_call_static(skb, &jmp_table, 1); in entry() 39 bpf_tail_call_static(skb, &jmp_table, 2); in entry() [all …]
|
D | tailcall2.c | 11 } jmp_table SEC(".maps"); 16 bpf_tail_call_static(skb, &jmp_table, 1); in classifier_0() 23 bpf_tail_call_static(skb, &jmp_table, 2); in classifier_1() 36 bpf_tail_call_static(skb, &jmp_table, 4); in classifier_3() 43 bpf_tail_call_static(skb, &jmp_table, 3); in classifier_4() 50 bpf_tail_call_static(skb, &jmp_table, 0); in entry() 52 bpf_tail_call_static(skb, &jmp_table, 2); in entry() 54 bpf_tail_call_static(skb, &jmp_table, 3); in entry()
|
D | tailcall_bpf2bpf2.c | 11 } jmp_table SEC(".maps"); 17 bpf_tail_call_static(skb, &jmp_table, 1); in subprog_tail() 19 bpf_tail_call_static(skb, &jmp_table, 0); in subprog_tail() 35 bpf_tail_call_static(skb, &jmp_table, 0); in entry()
|
D | tailcall_bpf2bpf3.c | 12 } jmp_table SEC(".maps"); 20 bpf_tail_call_static(skb, &jmp_table, 10); in subprog_tail2() 22 bpf_tail_call_static(skb, &jmp_table, 1); in subprog_tail2() 34 bpf_tail_call_static(skb, &jmp_table, 0); in subprog_tail()
|
D | tailcall_bpf2bpf4.c | 17 } jmp_table SEC(".maps"); 35 bpf_tail_call_static(skb, &jmp_table, 2); in subprog_tail_2() 42 bpf_tail_call_static(skb, &jmp_table, 1); in subprog_tail_1() 49 bpf_tail_call_static(skb, &jmp_table, 0); in subprog_tail()
|
D | tailcall3.c | 11 } jmp_table SEC(".maps"); 19 bpf_tail_call_static(skb, &jmp_table, 0); in classifier_0() 26 bpf_tail_call_static(skb, &jmp_table, 0); in entry()
|
D | tailcall6.c | 11 } jmp_table SEC(".maps"); 21 bpf_tail_call(skb, &jmp_table, which); in classifier_0() 30 bpf_tail_call(skb, &jmp_table, which); in entry()
|
D | tailcall_bpf2bpf1.c | 10 } jmp_table SEC(".maps"); 24 bpf_tail_call_static(skb, &jmp_table, 0); in subprog_tail() 32 bpf_tail_call_static(skb, &jmp_table, 1); in entry()
|
D | tailcall4.c | 11 } jmp_table SEC(".maps"); 28 bpf_tail_call(skb, &jmp_table, selector); in entry()
|
D | tailcall5.c | 11 } jmp_table SEC(".maps"); 35 bpf_tail_call(skb, &jmp_table, idx); in entry()
|
D | tailcall_bpf2bpf6.c | 13 } jmp_table SEC(".maps"); 30 bpf_tail_call_static(skb, &jmp_table, 0); in subprog_tail()
|
D | bpf_flow.c | 66 } jmp_table SEC(".maps"); 122 bpf_tail_call_static(skb, &jmp_table, IP); in parse_eth_proto() 125 bpf_tail_call_static(skb, &jmp_table, IPV6); in parse_eth_proto() 129 bpf_tail_call_static(skb, &jmp_table, MPLS); in parse_eth_proto() 133 bpf_tail_call_static(skb, &jmp_table, VLAN); in parse_eth_proto() 263 bpf_tail_call_static(skb, &jmp_table, IPV6OP); in parse_ipv6_proto() 266 bpf_tail_call_static(skb, &jmp_table, IPV6FR); in parse_ipv6_proto()
|
/linux-6.6.21/Documentation/bpf/ |
D | prog_flow_dissector.rst | 130 * ``jmp_table`` map that contains sub-programs for each supported L3 protocol 135 jmp_table is used instead to handle multiple levels of encapsulation (and
|
/linux-6.6.21/tools/testing/selftests/bpf/prog_tests/ |
D | flow_dissector.c | 632 err = init_prog_array(skel->obj, skel->maps.jmp_table); in test_flow_dissector()
|
D | tailcalls.c | 857 map_fd = bpf_map__fd(obj->maps.jmp_table); in test_tailcall_bpf2bpf_6()
|
/linux-6.6.21/tools/bpf/bpftool/Documentation/ |
D | bpftool-map.rst | 258 294: prog_array name jmp_table flags 0x0
|