bpf_reg_stateRegular
4.4: Absent ⚠️
4.8: Absent ⚠️
4.10: ✅struct bpf_reg_state {
enum bpf_reg_type type;
s64 imm;
u16 off;
u16 range;
struct bpf_map *map_ptr;
u32 id;
s64 min_value;
u64 max_value;
};
4.13: ✅struct bpf_reg_state {
enum bpf_reg_type type;
s64 imm;
u16 off;
u16 range;
struct bpf_map *map_ptr;
u32 id;
s64 min_value;
u64 max_value;
u32 min_align;
u32 aux_off;
u32 aux_off_align;
bool value_from_signed;
};
4.15: ✅struct bpf_reg_state {
enum bpf_reg_type type;
u16 range;
struct bpf_map *map_ptr;
s32 off;
u32 id;
struct tnum var_off;
s64 smin_value;
s64 smax_value;
u64 umin_value;
u64 umax_value;
enum bpf_reg_liveness live;
};
4.18: ✅struct bpf_reg_state {
enum bpf_reg_type type;
u16 range;
struct bpf_map *map_ptr;
s32 off;
u32 id;
struct tnum var_off;
s64 smin_value;
s64 smax_value;
u64 umin_value;
u64 umax_value;
u32 frameno;
enum bpf_reg_liveness live;
};
5.0: ✅struct bpf_reg_state {
enum bpf_reg_type type;
u16 range;
struct bpf_map *map_ptr;
long unsigned int raw;
s32 off;
u32 id;
struct tnum var_off;
s64 smin_value;
s64 smax_value;
u64 umin_value;
u64 umax_value;
struct bpf_reg_state *parent;
u32 frameno;
enum bpf_reg_liveness live;
};
5.3: ✅struct bpf_reg_state {
enum bpf_reg_type type;
u16 range;
struct bpf_map *map_ptr;
long unsigned int raw;
s32 off;
u32 id;
u32 ref_obj_id;
struct tnum var_off;
s64 smin_value;
s64 smax_value;
u64 umin_value;
u64 umax_value;
struct bpf_reg_state *parent;
u32 frameno;
s32 subreg_def;
enum bpf_reg_liveness live;
bool precise;
};
5.4: ✅struct bpf_reg_state {
enum bpf_reg_type type;
u16 range;
struct bpf_map *map_ptr;
long unsigned int raw;
s32 off;
u32 id;
u32 ref_obj_id;
struct tnum var_off;
s64 smin_value;
s64 smax_value;
u64 umin_value;
u64 umax_value;
struct bpf_reg_state *parent;
u32 frameno;
s32 subreg_def;
enum bpf_reg_liveness live;
bool precise;
};
5.8: ✅struct bpf_reg_state {
enum bpf_reg_type type;
u16 range;
struct bpf_map *map_ptr;
u32 btf_id;
u32 mem_size;
long unsigned int raw;
s32 off;
u32 id;
u32 ref_obj_id;
struct tnum var_off;
s64 smin_value;
s64 smax_value;
u64 umin_value;
u64 umax_value;
s32 s32_min_value;
s32 s32_max_value;
u32 u32_min_value;
u32 u32_max_value;
struct bpf_reg_state *parent;
u32 frameno;
s32 subreg_def;
enum bpf_reg_liveness live;
bool precise;
};
5.11: ✅struct bpf_reg_state {
enum bpf_reg_type type;
s32 off;
int range;
struct bpf_map *map_ptr;
struct btf *btf;
u32 btf_id;
u32 mem_size;
struct (anon) raw;
u32 id;
u32 ref_obj_id;
struct tnum var_off;
s64 smin_value;
s64 smax_value;
u64 umin_value;
u64 umax_value;
s32 s32_min_value;
s32 s32_max_value;
u32 u32_min_value;
u32 u32_max_value;
struct bpf_reg_state *parent;
u32 frameno;
s32 subreg_def;
enum bpf_reg_liveness live;
bool precise;
};
5.13: ✅struct bpf_reg_state {
enum bpf_reg_type type;
s32 off;
int range;
struct bpf_map *map_ptr;
struct btf *btf;
u32 btf_id;
u32 mem_size;
struct (anon) raw;
u32 subprogno;
u32 id;
u32 ref_obj_id;
struct tnum var_off;
s64 smin_value;
s64 smax_value;
u64 umin_value;
u64 umax_value;
s32 s32_min_value;
s32 s32_max_value;
u32 u32_min_value;
u32 u32_max_value;
struct bpf_reg_state *parent;
u32 frameno;
s32 subreg_def;
enum bpf_reg_liveness live;
bool precise;
};
5.15: ✅struct bpf_reg_state {
enum bpf_reg_type type;
s32 off;
int range;
struct bpf_map *map_ptr;
u32 map_uid;
struct btf *btf;
u32 btf_id;
u32 mem_size;
struct (anon) raw;
u32 subprogno;
u32 id;
u32 ref_obj_id;
struct tnum var_off;
s64 smin_value;
s64 smax_value;
u64 umin_value;
u64 umax_value;
s32 s32_min_value;
s32 s32_max_value;
u32 u32_min_value;
u32 u32_max_value;
struct bpf_reg_state *parent;
u32 frameno;
s32 subreg_def;
enum bpf_reg_liveness live;
bool precise;
};
5.19: ✅struct bpf_reg_state {
enum bpf_reg_type type;
s32 off;
int range;
struct bpf_map *map_ptr;
u32 map_uid;
struct btf *btf;
u32 btf_id;
u32 mem_size;
struct (anon) dynptr;
struct (anon) raw;
u32 subprogno;
u32 id;
u32 ref_obj_id;
struct tnum var_off;
s64 smin_value;
s64 smax_value;
u64 umin_value;
u64 umax_value;
s32 s32_min_value;
s32 s32_max_value;
u32 u32_min_value;
u32 u32_max_value;
struct bpf_reg_state *parent;
u32 frameno;
s32 subreg_def;
enum bpf_reg_liveness live;
bool precise;
};
6.2: ✅struct bpf_reg_state {
enum bpf_reg_type type;
s32 off;
int range;
struct bpf_map *map_ptr;
u32 map_uid;
struct btf *btf;
u32 btf_id;
u32 mem_size;
struct (anon) dynptr;
struct (anon) raw;
u32 subprogno;
u32 id;
u32 ref_obj_id;
struct tnum var_off;
s64 smin_value;
s64 smax_value;
u64 umin_value;
u64 umax_value;
s32 s32_min_value;
s32 s32_max_value;
u32 u32_min_value;
u32 u32_max_value;
struct bpf_reg_state *parent;
u32 frameno;
s32 subreg_def;
enum bpf_reg_liveness live;
bool precise;
};
6.5: ✅struct bpf_reg_state {
enum bpf_reg_type type;
s32 off;
int range;
struct bpf_map *map_ptr;
u32 map_uid;
struct btf *btf;
u32 btf_id;
u32 mem_size;
u32 dynptr_id;
struct (anon) dynptr;
struct (anon) iter;
struct (anon) raw;
u32 subprogno;
struct tnum var_off;
s64 smin_value;
s64 smax_value;
u64 umin_value;
u64 umax_value;
s32 s32_min_value;
s32 s32_max_value;
u32 u32_min_value;
u32 u32_max_value;
u32 id;
u32 ref_obj_id;
struct bpf_reg_state *parent;
u32 frameno;
s32 subreg_def;
enum bpf_reg_liveness live;
bool precise;
};
6.8: ✅struct bpf_reg_state {
enum bpf_reg_type type;
s32 off;
int range;
struct bpf_map *map_ptr;
u32 map_uid;
struct btf *btf;
u32 btf_id;
u32 mem_size;
u32 dynptr_id;
struct (anon) dynptr;
struct (anon) iter;
struct (anon) raw;
u32 subprogno;
struct tnum var_off;
s64 smin_value;
s64 smax_value;
u64 umin_value;
u64 umax_value;
s32 s32_min_value;
s32 s32_max_value;
u32 u32_min_value;
u32 u32_max_value;
u32 id;
u32 ref_obj_id;
struct bpf_reg_state *parent;
u32 frameno;
s32 subreg_def;
enum bpf_reg_liveness live;
bool precise;
};
arm64: ✅struct bpf_reg_state {
enum bpf_reg_type type;
u16 range;
struct bpf_map *map_ptr;
long unsigned int raw;
s32 off;
u32 id;
u32 ref_obj_id;
struct tnum var_off;
s64 smin_value;
s64 smax_value;
u64 umin_value;
u64 umax_value;
struct bpf_reg_state *parent;
u32 frameno;
s32 subreg_def;
enum bpf_reg_liveness live;
bool precise;
};
armhf: ✅struct bpf_reg_state {
enum bpf_reg_type type;
u16 range;
struct bpf_map *map_ptr;
long unsigned int raw;
s32 off;
u32 id;
u32 ref_obj_id;
struct tnum var_off;
s64 smin_value;
s64 smax_value;
u64 umin_value;
u64 umax_value;
struct bpf_reg_state *parent;
u32 frameno;
s32 subreg_def;
enum bpf_reg_liveness live;
bool precise;
};
ppc64el: ✅struct bpf_reg_state {
enum bpf_reg_type type;
u16 range;
struct bpf_map *map_ptr;
long unsigned int raw;
s32 off;
u32 id;
u32 ref_obj_id;
struct tnum var_off;
s64 smin_value;
s64 smax_value;
u64 umin_value;
u64 umax_value;
struct bpf_reg_state *parent;
u32 frameno;
s32 subreg_def;
enum bpf_reg_liveness live;
bool precise;
};
riscv64: ✅struct bpf_reg_state {
enum bpf_reg_type type;
u16 range;
struct bpf_map *map_ptr;
long unsigned int raw;
s32 off;
u32 id;
u32 ref_obj_id;
struct tnum var_off;
s64 smin_value;
s64 smax_value;
u64 umin_value;
u64 umax_value;
struct bpf_reg_state *parent;
u32 frameno;
s32 subreg_def;
enum bpf_reg_liveness live;
bool precise;
};
aws: ✅struct bpf_reg_state {
enum bpf_reg_type type;
u16 range;
struct bpf_map *map_ptr;
long unsigned int raw;
s32 off;
u32 id;
u32 ref_obj_id;
struct tnum var_off;
s64 smin_value;
s64 smax_value;
u64 umin_value;
u64 umax_value;
struct bpf_reg_state *parent;
u32 frameno;
s32 subreg_def;
enum bpf_reg_liveness live;
bool precise;
};
azure: ✅struct bpf_reg_state {
enum bpf_reg_type type;
u16 range;
struct bpf_map *map_ptr;
long unsigned int raw;
s32 off;
u32 id;
u32 ref_obj_id;
struct tnum var_off;
s64 smin_value;
s64 smax_value;
u64 umin_value;
u64 umax_value;
struct bpf_reg_state *parent;
u32 frameno;
s32 subreg_def;
enum bpf_reg_liveness live;
bool precise;
};
gcp: ✅struct bpf_reg_state {
enum bpf_reg_type type;
u16 range;
struct bpf_map *map_ptr;
long unsigned int raw;
s32 off;
u32 id;
u32 ref_obj_id;
struct tnum var_off;
s64 smin_value;
s64 smax_value;
u64 umin_value;
u64 umax_value;
struct bpf_reg_state *parent;
u32 frameno;
s32 subreg_def;
enum bpf_reg_liveness live;
bool precise;
};
lowlatency: ✅struct bpf_reg_state {
enum bpf_reg_type type;
u16 range;
struct bpf_map *map_ptr;
long unsigned int raw;
s32 off;
u32 id;
u32 ref_obj_id;
struct tnum var_off;
s64 smin_value;
s64 smax_value;
u64 umin_value;
u64 umax_value;
struct bpf_reg_state *parent;
u32 frameno;
s32 subreg_def;
enum bpf_reg_liveness live;
bool precise;
};
Regular
4.10 and 4.13 ⚠️u32 min_align
u32 aux_off
u32 aux_off_align
bool value_from_signed
4.13 and 4.15 ⚠️struct tnum var_off
s64 smin_value
s64 smax_value
u64 umin_value
u64 umax_value
enum bpf_reg_liveness live
s64 imm
s64 min_value
u64 max_value
u32 min_align
u32 aux_off
u32 aux_off_align
bool value_from_signed
u16 off ➡️ s32 off
4.15 and 4.18 ⚠️u32 frameno
4.18 and 5.0 ⚠️long unsigned int raw
struct bpf_reg_state *parent
5.0 and 5.3 ⚠️u32 ref_obj_id
s32 subreg_def
bool precise
5.3 and 5.4 ✅
5.4 and 5.8 ⚠️u32 btf_id
u32 mem_size
s32 s32_min_value
s32 s32_max_value
u32 u32_min_value
u32 u32_max_value
5.8 and 5.11 ⚠️struct btf *btf
u16 range ➡️ int range
long unsigned int raw ➡️ struct (anon) raw
5.11 and 5.13 ⚠️u32 subprogno
5.13 and 5.15 ⚠️u32 map_uid
5.15 and 5.19 ⚠️struct (anon) dynptr
5.19 and 6.2 ✅
6.2 and 6.5 ⚠️u32 dynptr_id
struct (anon) iter
6.5 and 6.8 ✅
amd64 and arm64 ✅
amd64 and armhf ✅
amd64 and ppc64el ✅
amd64 and riscv64 ✅
generic and aws ✅
generic and azure ✅
generic and gcp ✅
generic and lowlatency ✅