Symbol: arg_track
include/linux/bpf_verifier.h
967
struct arg_track **callsite_at_stack;
kernel/bpf/liveness.c
1006
struct arg_track *at_out, int reg,
kernel/bpf/liveness.c
1007
struct arg_track *at_stack_out, u32 sz)
kernel/bpf/liveness.c
1032
struct arg_track *at_in, struct arg_track *at_stack_in,
kernel/bpf/liveness.c
1033
struct arg_track *at_out, struct arg_track *at_stack_out)
kernel/bpf/liveness.c
1083
static bool can_be_local_fp(int depth, int regno, struct arg_track *at)
kernel/bpf/liveness.c
1096
struct arg_track *at_out, struct arg_track *at_stack_out,
kernel/bpf/liveness.c
1097
const struct arg_track *at_stack_arg_entry,
kernel/bpf/liveness.c
1104
struct arg_track *dst = &at_out[insn->dst_reg];
kernel/bpf/liveness.c
1105
struct arg_track *src = &at_out[insn->src_reg];
kernel/bpf/liveness.c
1106
struct arg_track none = { .frame = ARG_NONE };
kernel/bpf/liveness.c
1183
struct arg_track *parent_stack =
kernel/bpf/liveness.c
1288
const struct arg_track *arg,
kernel/bpf/liveness.c
1336
struct arg_track *at, int insn_idx)
kernel/bpf/liveness.c
1342
struct arg_track resolved, *ptr;
kernel/bpf/liveness.c
1404
struct arg_track *at, int arg_idx,
kernel/bpf/liveness.c
1440
struct arg_track *at,
kernel/bpf/liveness.c
1521
struct arg_track (*at_in)[MAX_AT_TRACK_REGS];
kernel/bpf/liveness.c
1528
struct arg_track (*at_stack_in)[MAX_ARG_SPILL_SLOTS])
kernel/bpf/liveness.c
1616
struct arg_track *callee_entry,
kernel/bpf/liveness.c
1628
struct arg_track (*at_in)[MAX_AT_TRACK_REGS] = NULL;
kernel/bpf/liveness.c
1629
struct arg_track at_out[MAX_AT_TRACK_REGS];
kernel/bpf/liveness.c
1630
struct arg_track (*at_stack_in)[MAX_ARG_SPILL_SLOTS] = NULL;
kernel/bpf/liveness.c
1631
struct arg_track *at_stack_out = NULL;
kernel/bpf/liveness.c
1632
struct arg_track at_stack_arg_entry[MAX_STACK_ARG_SLOTS];
kernel/bpf/liveness.c
1633
struct arg_track unvisited = { .frame = ARG_UNVISITED };
kernel/bpf/liveness.c
1634
struct arg_track none = { .frame = ARG_NONE };
kernel/bpf/liveness.c
1748
at_stack_in[i], sizeof(struct arg_track) * MAX_ARG_SPILL_SLOTS);
kernel/bpf/liveness.c
1766
static bool has_fp_args(struct arg_track *args)
kernel/bpf/liveness.c
1848
struct arg_track *entry_args,
kernel/bpf/liveness.c
1897
struct arg_track callee_args[MAX_AT_TRACK_REGS] = {};
kernel/bpf/liveness.c
1898
struct arg_track none = { .frame = ARG_NONE };
kernel/bpf/liveness.c
628
static bool arg_is_visited(const struct arg_track *at)
kernel/bpf/liveness.c
633
static bool arg_is_fp(const struct arg_track *at)
kernel/bpf/liveness.c
638
static void verbose_arg_track(struct bpf_verifier_env *env, struct arg_track *at)
kernel/bpf/liveness.c
661
static bool arg_track_eq(const struct arg_track *a, const struct arg_track *b)
kernel/bpf/liveness.c
679
static struct arg_track arg_single(s8 arg, s16 off)
kernel/bpf/liveness.c
681
struct arg_track at = {};
kernel/bpf/liveness.c
694
static struct arg_track arg_merge_offsets(struct arg_track a, struct arg_track b)
kernel/bpf/liveness.c
696
struct arg_track result = { .frame = a.frame };
kernel/bpf/liveness.c
697
struct arg_track imp = { .frame = a.frame };
kernel/bpf/liveness.c
736
static struct arg_track arg_join_imprecise(struct arg_track a, struct arg_track b)
kernel/bpf/liveness.c
750
return (struct arg_track){ .mask = m, .frame = ARG_IMPRECISE };
kernel/bpf/liveness.c
754
static struct arg_track __arg_track_join(struct arg_track a, struct arg_track b)
kernel/bpf/liveness.c
763
return (struct arg_track){ .frame = a.frame };
kernel/bpf/liveness.c
796
struct arg_track *in, struct arg_track out)
kernel/bpf/liveness.c
798
struct arg_track old = *in;
kernel/bpf/liveness.c
799
struct arg_track new_val = __arg_track_join(old, out);
kernel/bpf/liveness.c
830
static void arg_track_alu64(struct arg_track *dst, const struct arg_track *src)
kernel/bpf/liveness.c
868
static void arg_padd(struct arg_track *at, s64 delta)
kernel/bpf/liveness.c
899
static struct arg_track fill_from_stack(struct bpf_insn *insn,
kernel/bpf/liveness.c
900
struct arg_track *at_out, int reg,
kernel/bpf/liveness.c
901
struct arg_track *at_stack_out,
kernel/bpf/liveness.c
904
struct arg_track imp = {
kernel/bpf/liveness.c
908
struct arg_track result = { .frame = ARG_NONE };
kernel/bpf/liveness.c
939
static void spill_to_stack(struct bpf_insn *insn, struct arg_track *at_out,
kernel/bpf/liveness.c
940
int reg, struct arg_track *at_stack_out,
kernel/bpf/liveness.c
941
struct arg_track *val, u32 sz)
kernel/bpf/liveness.c
943
struct arg_track none = { .frame = ARG_NONE };
kernel/bpf/liveness.c
944
struct arg_track new_val = sz == 8 ? *val : none;
kernel/bpf/liveness.c
980
static void clear_overlapping_stack_slots(struct arg_track *at_stack, s16 off, u32 sz, int cnt)
kernel/bpf/liveness.c
982
struct arg_track none = { .frame = ARG_NONE };