bpf_struct_opsRegular
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