Lines Matching defs:bpf_prog_aux
1493 struct bpf_prog_aux { struct
1494 atomic64_t refcnt;
1495 u32 used_map_cnt;
1496 u32 used_btf_cnt;
1497 u32 max_ctx_offset;
1498 u32 max_pkt_offset;
1499 u32 max_tp_access;
1500 u32 stack_depth;
1501 u32 id;
1502 u32 func_cnt; /* used by non-func prog as the number of func progs */
1503 u32 real_func_cnt; /* includes hidden progs, only used for JIT and freeing progs */
1504 u32 func_idx; /* 0 for non-func prog, the index in func array for func prog */
1505 u32 attach_btf_id; /* in-kernel BTF type id to attach to */
1506 u32 ctx_arg_info_size;
1507 u32 max_rdonly_access;
1508 u32 max_rdwr_access;
1509 struct btf *attach_btf;
1510 const struct bpf_ctx_arg_aux *ctx_arg_info;
1511 void __percpu *priv_stack_ptr;
1512 struct mutex dst_mutex; /* protects dst_* pointers below, *after* prog becomes visible */
1513 struct bpf_prog *dst_prog;
1514 struct bpf_trampoline *dst_trampoline;
1515 enum bpf_prog_type saved_dst_prog_type;
1516 enum bpf_attach_type saved_dst_attach_type;
1517 bool verifier_zext; /* Zero extensions has been inserted by verifier. */
1518 bool dev_bound; /* Program is bound to the netdev. */
1519 bool offload_requested; /* Program is bound and offloaded to the netdev. */
1520 bool attach_btf_trace; /* true if attaching to BTF-enabled raw tp */
1521 bool attach_tracing_prog; /* true if tracing another tracing program */
1522 bool func_proto_unreliable;
1523 bool tail_call_reachable;
1524 bool xdp_has_frags;
1525 bool exception_cb;
1526 bool exception_boundary;
1527 bool is_extended; /* true if extended by freplace program */
1528 bool jits_use_priv_stack;
1529 bool priv_stack_requested;
1530 bool changes_pkt_data;
1531 u64 prog_array_member_cnt; /* counts how many times as member of prog_array */
1532 struct mutex ext_mutex; /* mutex for is_extended and prog_array_member_cnt */
1533 struct bpf_arena *arena;
1534 void (*recursion_detected)(struct bpf_prog *prog); /* callback if recursion is detected */
1536 const struct btf_type *attach_func_proto;
1538 const char *attach_func_name;
1539 struct bpf_prog **func;
1540 void *jit_data; /* JIT specific data. arch dependent */
1541 struct bpf_jit_poke_descriptor *poke_tab;
1542 struct bpf_kfunc_desc_tab *kfunc_tab;
1543 struct bpf_kfunc_btf_tab *kfunc_btf_tab;
1544 u32 size_poke_tab;
1546 struct bpf_ksym ksym_prefix;
1548 struct bpf_ksym ksym;
1549 const struct bpf_prog_ops *ops;
1550 struct bpf_map **used_maps;
1551 struct mutex used_maps_mutex; /* mutex for used_maps and used_map_cnt */
1552 struct btf_mod_pair *used_btfs;
1553 struct bpf_prog *prog;
1554 struct user_struct *user;
1555 u64 load_time; /* ns since boottime */
1556 u32 verified_insns;
1557 int cgroup_atype; /* enum cgroup_bpf_attach_type */
1558 struct bpf_map *cgroup_storage[MAX_BPF_CGROUP_STORAGE_TYPE];
1559 char name[BPF_OBJ_NAME_LEN];
1560 u64 (*bpf_exception_cb)(u64 cookie, u64 sp, u64 bp, u64, u64);
1562 void *security;
1564 struct bpf_token *token;
1565 struct bpf_prog_offload *offload;
1566 struct btf *btf;
1567 struct bpf_func_info *func_info;
1568 struct bpf_func_info_aux *func_info_aux;
1575 struct bpf_line_info *linfo;
1583 void **jited_linfo;
1584 u32 func_info_cnt;
1585 u32 nr_linfo;
1590 u32 linfo_idx;
1591 struct module *mod;
1592 u32 num_exentries;
1593 struct exception_table_entry *extable;
1594 union {