smap_psockRegular
4.4: Absent ⚠️
4.8: Absent ⚠️
4.10: Absent ⚠️
4.13: Absent ⚠️
4.15: ✅struct smap_psock {
struct callback_head rcu;
u32 refcnt;
struct sk_buff_head rxqueue;
bool strp_enabled;
int save_rem;
int save_off;
struct sk_buff *save_skb;
struct strparser strp;
struct bpf_prog *bpf_parse;
struct bpf_prog *bpf_verdict;
struct list_head maps;
struct sock *sock;
long unsigned int state;
struct work_struct tx_work;
struct work_struct gc_work;
void (*save_data_ready)(struct sock *);
void (*save_write_space)(struct sock *);
void (*save_state_change)(struct sock *);
};
4.18: ✅struct smap_psock {
struct callback_head rcu;
refcount_t refcnt;
struct sk_buff_head rxqueue;
bool strp_enabled;
int save_rem;
int save_off;
struct sk_buff *save_skb;
struct sock *sk_redir;
int apply_bytes;
int cork_bytes;
int sg_size;
int eval;
struct sk_msg_buff *cork;
struct list_head ingress;
struct strparser strp;
struct bpf_prog *bpf_tx_msg;
struct bpf_prog *bpf_parse;
struct bpf_prog *bpf_verdict;
struct list_head maps;
spinlock_t maps_lock;
struct sock *sock;
long unsigned int state;
struct work_struct tx_work;
struct work_struct gc_work;
struct proto *sk_proto;
void (*save_close)(struct sock *, long int);
void (*save_data_ready)(struct sock *);
void (*save_write_space)(struct sock *);
};
5.0: Absent ⚠️
5.3: Absent ⚠️
5.4: Absent ⚠️
5.8: Absent ⚠️
5.11: Absent ⚠️
5.13: Absent ⚠️
5.15: Absent ⚠️
5.19: Absent ⚠️
6.2: Absent ⚠️
6.5: Absent ⚠️
6.8: Absent ⚠️
arm64: Absent ⚠️
armhf: Absent ⚠️
ppc64el: Absent ⚠️
riscv64: Absent ⚠️
aws: Absent ⚠️
azure: Absent ⚠️
gcp: Absent ⚠️
lowlatency: Absent ⚠️
Regular
4.15 and 4.18 ⚠️struct sock *sk_redir
int apply_bytes
int cork_bytes
int sg_size
int eval
struct sk_msg_buff *cork
struct list_head ingress
struct bpf_prog *bpf_tx_msg
spinlock_t maps_lock
struct proto *sk_proto
void (*save_close)(struct sock *, long int)
void (*save_state_change)(struct sock *)
u32 refcnt ➡️ refcount_t refcnt