Lines Matching defs:jmp_table

51 static struct hid_bpf_jmp_table jmp_table;
84 FOR_ENTRIES(i, jmp_table.tail, jmp_table.head) {
85 struct hid_bpf_prog_entry *entry = &jmp_table.entries[i];
122 if (!test_bit(idx, jmp_table.enabled))
177 FOR_ENTRIES(i, jmp_table.tail, jmp_table.head) {
178 struct hid_bpf_prog_entry *entry = &jmp_table.entries[i];
181 test_bit(entry->idx, jmp_table.enabled))
193 jmp_table.progs[idx] = NULL;
201 if (!jmp_table.map)
205 map_fd = skel_map_get_fd_by_id(jmp_table.map->id);
212 FOR_ENTRIES(i, jmp_table.tail, jmp_table.head) {
213 struct hid_bpf_prog_entry *entry = &jmp_table.entries[i];
217 if (test_bit(entry->idx, jmp_table.enabled))
234 FOR_ENTRIES(j, i, jmp_table.head) {
237 next = &jmp_table.entries[j];
239 if (test_bit(next->idx, jmp_table.enabled))
260 FOR_ENTRIES(i, jmp_table.tail, jmp_table.head) {
261 struct hid_bpf_prog_entry *entry = &jmp_table.entries[i];
263 if (test_bit(entry->idx, jmp_table.enabled))
271 n = jmp_table.tail;
272 FOR_ENTRIES(i, jmp_table.tail, jmp_table.head) {
273 struct hid_bpf_prog_entry *entry = &jmp_table.entries[i];
275 if (!test_bit(entry->idx, jmp_table.enabled))
278 jmp_table.entries[n] = jmp_table.entries[i];
282 jmp_table.head = n;
295 map_fd = skel_map_get_fd_by_id(jmp_table.map->id);
313 map_fd = skel_map_get_fd_by_id(jmp_table.map->id);
320 /* find the first available index in the jmp_table */
322 if (!jmp_table.progs[i] && index < 0) {
324 jmp_table.progs[i] = prog;
326 __set_bit(i, jmp_table.enabled);
370 __clear_bit(hid_link->hid_table_index, jmp_table.enabled);
437 jmp_table.tail = PREV(jmp_table.tail);
438 prog_entry = &jmp_table.entries[jmp_table.tail];
441 prog_entry = &jmp_table.entries[jmp_table.head];
442 jmp_table.head = NEXT(jmp_table.head);
490 __clear_bit(prog_list->prog_idx[i], jmp_table.enabled);
512 if (jmp_table.map)
513 bpf_map_put_with_uref(jmp_table.map);
553 jmp_table.map = bpf_map_get_with_uref(skel->maps.hid_jmp_table.map_fd);
554 if (IS_ERR(jmp_table.map)) {
555 err = PTR_ERR(jmp_table.map);