bpf_reg_state
Regular
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
✅