bpf_struct_ops
Regular
4.4
: Absent ⚠️
4.8
: Absent ⚠️
4.10
: Absent ⚠️
4.13
: Absent ⚠️
4.15
: Absent ⚠️
4.18
: Absent ⚠️
5.0
: Absent ⚠️
5.3
: Absent ⚠️
5.4
: Absent ⚠️
5.8
: ✅struct bpf_struct_ops {
const struct bpf_verifier_ops *verifier_ops;
int (*init)(struct btf *);
int (*check_member)(const struct btf_type *, const struct btf_member *);
int (*init_member)(const struct btf_type *, const struct btf_member *, void *, const void *);
int (*reg)(void *);
void (*unreg)(void *);
const struct btf_type *type;
const struct btf_type *value_type;
const char *name;
struct btf_func_model func_models[64];
u32 type_id;
u32 value_id;
};
5.11
: ✅struct bpf_struct_ops {
const struct bpf_verifier_ops *verifier_ops;
int (*init)(struct btf *);
int (*check_member)(const struct btf_type *, const struct btf_member *);
int (*init_member)(const struct btf_type *, const struct btf_member *, void *, const void *);
int (*reg)(void *);
void (*unreg)(void *);
const struct btf_type *type;
const struct btf_type *value_type;
const char *name;
struct btf_func_model func_models[64];
u32 type_id;
u32 value_id;
};
5.13
: ✅struct bpf_struct_ops {
const struct bpf_verifier_ops *verifier_ops;
int (*init)(struct btf *);
int (*check_member)(const struct btf_type *, const struct btf_member *);
int (*init_member)(const struct btf_type *, const struct btf_member *, void *, const void *);
int (*reg)(void *);
void (*unreg)(void *);
const struct btf_type *type;
const struct btf_type *value_type;
const char *name;
struct btf_func_model func_models[64];
u32 type_id;
u32 value_id;
};
5.15
: ✅struct bpf_struct_ops {
const struct bpf_verifier_ops *verifier_ops;
int (*init)(struct btf *);
int (*check_member)(const struct btf_type *, const struct btf_member *);
int (*init_member)(const struct btf_type *, const struct btf_member *, void *, const void *);
int (*reg)(void *);
void (*unreg)(void *);
const struct btf_type *type;
const struct btf_type *value_type;
const char *name;
struct btf_func_model func_models[64];
u32 type_id;
u32 value_id;
};
5.19
: ✅struct bpf_struct_ops {
const struct bpf_verifier_ops *verifier_ops;
int (*init)(struct btf *);
int (*check_member)(const struct btf_type *, const struct btf_member *);
int (*init_member)(const struct btf_type *, const struct btf_member *, void *, const void *);
int (*reg)(void *);
void (*unreg)(void *);
const struct btf_type *type;
const struct btf_type *value_type;
const char *name;
struct btf_func_model func_models[64];
u32 type_id;
u32 value_id;
};
6.2
: ✅struct bpf_struct_ops {
const struct bpf_verifier_ops *verifier_ops;
int (*init)(struct btf *);
int (*check_member)(const struct btf_type *, const struct btf_member *);
int (*init_member)(const struct btf_type *, const struct btf_member *, void *, const void *);
int (*reg)(void *);
void (*unreg)(void *);
const struct btf_type *type;
const struct btf_type *value_type;
const char *name;
struct btf_func_model func_models[64];
u32 type_id;
u32 value_id;
};
6.5
: ✅struct bpf_struct_ops {
const struct bpf_verifier_ops *verifier_ops;
int (*init)(struct btf *);
int (*check_member)(const struct btf_type *, const struct btf_member *, const struct bpf_prog *);
int (*init_member)(const struct btf_type *, const struct btf_member *, void *, const void *);
int (*reg)(void *);
void (*unreg)(void *);
int (*update)(void *, void *);
int (*validate)(void *);
const struct btf_type *type;
const struct btf_type *value_type;
const char *name;
struct btf_func_model func_models[64];
u32 type_id;
u32 value_id;
};
6.8
: ✅struct bpf_struct_ops {
const struct bpf_verifier_ops *verifier_ops;
int (*init)(struct btf *);
int (*check_member)(const struct btf_type *, const struct btf_member *, const struct bpf_prog *);
int (*init_member)(const struct btf_type *, const struct btf_member *, void *, const void *);
int (*reg)(void *);
void (*unreg)(void *);
int (*update)(void *, void *);
int (*validate)(void *);
const struct btf_type *type;
const struct btf_type *value_type;
const char *name;
struct btf_func_model func_models[64];
u32 type_id;
u32 value_id;
void *cfi_stubs;
};
arm64
: Absent ⚠️
armhf
: Absent ⚠️
ppc64el
: Absent ⚠️
riscv64
: Absent ⚠️
aws
: Absent ⚠️
azure
: Absent ⚠️
gcp
: Absent ⚠️
lowlatency
: Absent ⚠️
Regular
5.8
and 5.11
✅
5.11
and 5.13
✅
5.13
and 5.15
✅
5.15
and 5.19
✅
5.19
and 6.2
✅
6.2
and 6.5
⚠️int (*update)(void *, void *)
int (*validate)(void *)
int (*check_member)(const struct btf_type *, const struct btf_member *)
➡️ int (*check_member)(const struct btf_type *, const struct btf_member *, const struct bpf_prog *)
6.5
and 6.8
⚠️void *cfi_stubs