tls_contextRegular
4.4: Absent ⚠️
4.8: Absent ⚠️
4.10: Absent ⚠️
4.13: Absent ⚠️
4.15: Absent ⚠️
4.18: Absent ⚠️
5.0: ✅struct tls_context {
union tls_crypto_context crypto_send;
union tls_crypto_context crypto_recv;
struct list_head list;
struct net_device *netdev;
refcount_t refcount;
void *priv_ctx_tx;
void *priv_ctx_rx;
u8 tx_conf;
u8 rx_conf;
struct cipher_context tx;
struct cipher_context rx;
struct scatterlist *partially_sent_record;
u16 partially_sent_offset;
long unsigned int flags;
bool in_tcp_sendpages;
bool pending_open_record_frags;
int (*push_pending_record)(struct sock *, int);
void (*sk_write_space)(struct sock *);
void (*sk_destruct)(struct sock *);
void (*sk_proto_close)(struct sock *, long int);
int (*setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*getsockopt)(struct sock *, int, int, char *, int *);
int (*hash)(struct sock *);
void (*unhash)(struct sock *);
};
5.3: ✅struct tls_context {
struct tls_prot_info prot_info;
u8 tx_conf;
u8 rx_conf;
int (*push_pending_record)(struct sock *, int);
void (*sk_write_space)(struct sock *);
void *priv_ctx_tx;
void *priv_ctx_rx;
struct net_device *netdev;
struct cipher_context tx;
struct cipher_context rx;
struct scatterlist *partially_sent_record;
u16 partially_sent_offset;
bool in_tcp_sendpages;
bool pending_open_record_frags;
long unsigned int flags;
struct proto *sk_proto;
void (*sk_destruct)(struct sock *);
void (*sk_proto_close)(struct sock *, long int);
int (*setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*getsockopt)(struct sock *, int, int, char *, int *);
int (*hash)(struct sock *);
void (*unhash)(struct sock *);
union tls_crypto_context crypto_send;
union tls_crypto_context crypto_recv;
struct list_head list;
refcount_t refcount;
};
5.4: ✅struct tls_context {
struct tls_prot_info prot_info;
u8 tx_conf;
u8 rx_conf;
int (*push_pending_record)(struct sock *, int);
void (*sk_write_space)(struct sock *);
void *priv_ctx_tx;
void *priv_ctx_rx;
struct net_device *netdev;
struct cipher_context tx;
struct cipher_context rx;
struct scatterlist *partially_sent_record;
u16 partially_sent_offset;
bool in_tcp_sendpages;
bool pending_open_record_frags;
struct mutex tx_lock;
long unsigned int flags;
struct proto *sk_proto;
void (*sk_destruct)(struct sock *);
union tls_crypto_context crypto_send;
union tls_crypto_context crypto_recv;
struct list_head list;
refcount_t refcount;
struct callback_head rcu;
};
5.8: ✅struct tls_context {
struct tls_prot_info prot_info;
u8 tx_conf;
u8 rx_conf;
int (*push_pending_record)(struct sock *, int);
void (*sk_write_space)(struct sock *);
void *priv_ctx_tx;
void *priv_ctx_rx;
struct net_device *netdev;
struct cipher_context tx;
struct cipher_context rx;
struct scatterlist *partially_sent_record;
u16 partially_sent_offset;
bool in_tcp_sendpages;
bool pending_open_record_frags;
struct mutex tx_lock;
long unsigned int flags;
struct proto *sk_proto;
void (*sk_destruct)(struct sock *);
union tls_crypto_context crypto_send;
union tls_crypto_context crypto_recv;
struct list_head list;
refcount_t refcount;
struct callback_head rcu;
};
5.11: ✅struct tls_context {
struct tls_prot_info prot_info;
u8 tx_conf;
u8 rx_conf;
int (*push_pending_record)(struct sock *, int);
void (*sk_write_space)(struct sock *);
void *priv_ctx_tx;
void *priv_ctx_rx;
struct net_device *netdev;
struct cipher_context tx;
struct cipher_context rx;
struct scatterlist *partially_sent_record;
u16 partially_sent_offset;
bool in_tcp_sendpages;
bool pending_open_record_frags;
struct mutex tx_lock;
long unsigned int flags;
struct proto *sk_proto;
void (*sk_destruct)(struct sock *);
union tls_crypto_context crypto_send;
union tls_crypto_context crypto_recv;
struct list_head list;
refcount_t refcount;
struct callback_head rcu;
};
5.13: ✅struct tls_context {
struct tls_prot_info prot_info;
u8 tx_conf;
u8 rx_conf;
int (*push_pending_record)(struct sock *, int);
void (*sk_write_space)(struct sock *);
void *priv_ctx_tx;
void *priv_ctx_rx;
struct net_device *netdev;
struct cipher_context tx;
struct cipher_context rx;
struct scatterlist *partially_sent_record;
u16 partially_sent_offset;
bool in_tcp_sendpages;
bool pending_open_record_frags;
struct mutex tx_lock;
long unsigned int flags;
struct proto *sk_proto;
struct sock *sk;
void (*sk_destruct)(struct sock *);
union tls_crypto_context crypto_send;
union tls_crypto_context crypto_recv;
struct list_head list;
refcount_t refcount;
struct callback_head rcu;
};
5.15: ✅struct tls_context {
struct tls_prot_info prot_info;
u8 tx_conf;
u8 rx_conf;
int (*push_pending_record)(struct sock *, int);
void (*sk_write_space)(struct sock *);
void *priv_ctx_tx;
void *priv_ctx_rx;
struct net_device *netdev;
struct cipher_context tx;
struct cipher_context rx;
struct scatterlist *partially_sent_record;
u16 partially_sent_offset;
bool in_tcp_sendpages;
bool pending_open_record_frags;
struct mutex tx_lock;
long unsigned int flags;
struct proto *sk_proto;
struct sock *sk;
void (*sk_destruct)(struct sock *);
union tls_crypto_context crypto_send;
union tls_crypto_context crypto_recv;
struct list_head list;
refcount_t refcount;
struct callback_head rcu;
};
5.19: ✅struct tls_context {
struct tls_prot_info prot_info;
u8 tx_conf;
u8 rx_conf;
u8 zerocopy_sendfile;
int (*push_pending_record)(struct sock *, int);
void (*sk_write_space)(struct sock *);
void *priv_ctx_tx;
void *priv_ctx_rx;
struct net_device *netdev;
struct cipher_context tx;
struct cipher_context rx;
struct scatterlist *partially_sent_record;
u16 partially_sent_offset;
bool in_tcp_sendpages;
bool pending_open_record_frags;
struct mutex tx_lock;
long unsigned int flags;
struct proto *sk_proto;
struct sock *sk;
void (*sk_destruct)(struct sock *);
union tls_crypto_context crypto_send;
union tls_crypto_context crypto_recv;
struct list_head list;
refcount_t refcount;
struct callback_head rcu;
};
6.2: ✅struct tls_context {
struct tls_prot_info prot_info;
u8 tx_conf;
u8 rx_conf;
u8 zerocopy_sendfile;
u8 rx_no_pad;
int (*push_pending_record)(struct sock *, int);
void (*sk_write_space)(struct sock *);
void *priv_ctx_tx;
void *priv_ctx_rx;
struct net_device *netdev;
struct cipher_context tx;
struct cipher_context rx;
struct scatterlist *partially_sent_record;
u16 partially_sent_offset;
bool in_tcp_sendpages;
bool pending_open_record_frags;
struct mutex tx_lock;
long unsigned int flags;
struct proto *sk_proto;
struct sock *sk;
void (*sk_destruct)(struct sock *);
union tls_crypto_context crypto_send;
union tls_crypto_context crypto_recv;
struct list_head list;
refcount_t refcount;
struct callback_head rcu;
};
6.5: ✅struct tls_context {
struct tls_prot_info prot_info;
u8 tx_conf;
u8 rx_conf;
u8 zerocopy_sendfile;
u8 rx_no_pad;
int (*push_pending_record)(struct sock *, int);
void (*sk_write_space)(struct sock *);
void *priv_ctx_tx;
void *priv_ctx_rx;
struct net_device *netdev;
struct cipher_context tx;
struct cipher_context rx;
struct scatterlist *partially_sent_record;
u16 partially_sent_offset;
bool splicing_pages;
bool pending_open_record_frags;
struct mutex tx_lock;
long unsigned int flags;
struct proto *sk_proto;
struct sock *sk;
void (*sk_destruct)(struct sock *);
union tls_crypto_context crypto_send;
union tls_crypto_context crypto_recv;
struct list_head list;
refcount_t refcount;
struct callback_head rcu;
};
6.8: ✅struct tls_context {
struct tls_prot_info prot_info;
u8 tx_conf;
u8 rx_conf;
u8 zerocopy_sendfile;
u8 rx_no_pad;
int (*push_pending_record)(struct sock *, int);
void (*sk_write_space)(struct sock *);
void *priv_ctx_tx;
void *priv_ctx_rx;
struct net_device *netdev;
struct cipher_context tx;
struct cipher_context rx;
struct scatterlist *partially_sent_record;
u16 partially_sent_offset;
bool splicing_pages;
bool pending_open_record_frags;
struct mutex tx_lock;
long unsigned int flags;
struct proto *sk_proto;
struct sock *sk;
void (*sk_destruct)(struct sock *);
union tls_crypto_context crypto_send;
union tls_crypto_context crypto_recv;
struct list_head list;
refcount_t refcount;
struct callback_head rcu;
};
arm64: ✅struct tls_context {
struct tls_prot_info prot_info;
u8 tx_conf;
u8 rx_conf;
int (*push_pending_record)(struct sock *, int);
void (*sk_write_space)(struct sock *);
void *priv_ctx_tx;
void *priv_ctx_rx;
struct net_device *netdev;
struct cipher_context tx;
struct cipher_context rx;
struct scatterlist *partially_sent_record;
u16 partially_sent_offset;
bool in_tcp_sendpages;
bool pending_open_record_frags;
struct mutex tx_lock;
long unsigned int flags;
struct proto *sk_proto;
void (*sk_destruct)(struct sock *);
union tls_crypto_context crypto_send;
union tls_crypto_context crypto_recv;
struct list_head list;
refcount_t refcount;
struct callback_head rcu;
};
armhf: ✅struct tls_context {
struct tls_prot_info prot_info;
u8 tx_conf;
u8 rx_conf;
int (*push_pending_record)(struct sock *, int);
void (*sk_write_space)(struct sock *);
void *priv_ctx_tx;
void *priv_ctx_rx;
struct net_device *netdev;
struct cipher_context tx;
struct cipher_context rx;
struct scatterlist *partially_sent_record;
u16 partially_sent_offset;
bool in_tcp_sendpages;
bool pending_open_record_frags;
struct mutex tx_lock;
long unsigned int flags;
struct proto *sk_proto;
void (*sk_destruct)(struct sock *);
union tls_crypto_context crypto_send;
union tls_crypto_context crypto_recv;
struct list_head list;
refcount_t refcount;
struct callback_head rcu;
};
ppc64el: ✅struct tls_context {
struct tls_prot_info prot_info;
u8 tx_conf;
u8 rx_conf;
int (*push_pending_record)(struct sock *, int);
void (*sk_write_space)(struct sock *);
void *priv_ctx_tx;
void *priv_ctx_rx;
struct net_device *netdev;
struct cipher_context tx;
struct cipher_context rx;
struct scatterlist *partially_sent_record;
u16 partially_sent_offset;
bool in_tcp_sendpages;
bool pending_open_record_frags;
struct mutex tx_lock;
long unsigned int flags;
struct proto *sk_proto;
void (*sk_destruct)(struct sock *);
union tls_crypto_context crypto_send;
union tls_crypto_context crypto_recv;
struct list_head list;
refcount_t refcount;
struct callback_head rcu;
};
riscv64: ✅struct tls_context {
struct tls_prot_info prot_info;
u8 tx_conf;
u8 rx_conf;
int (*push_pending_record)(struct sock *, int);
void (*sk_write_space)(struct sock *);
void *priv_ctx_tx;
void *priv_ctx_rx;
struct net_device *netdev;
struct cipher_context tx;
struct cipher_context rx;
struct scatterlist *partially_sent_record;
u16 partially_sent_offset;
bool in_tcp_sendpages;
bool pending_open_record_frags;
struct mutex tx_lock;
long unsigned int flags;
struct proto *sk_proto;
void (*sk_destruct)(struct sock *);
union tls_crypto_context crypto_send;
union tls_crypto_context crypto_recv;
struct list_head list;
refcount_t refcount;
struct callback_head rcu;
};
aws: ✅struct tls_context {
struct tls_prot_info prot_info;
u8 tx_conf;
u8 rx_conf;
int (*push_pending_record)(struct sock *, int);
void (*sk_write_space)(struct sock *);
void *priv_ctx_tx;
void *priv_ctx_rx;
struct net_device *netdev;
struct cipher_context tx;
struct cipher_context rx;
struct scatterlist *partially_sent_record;
u16 partially_sent_offset;
bool in_tcp_sendpages;
bool pending_open_record_frags;
struct mutex tx_lock;
long unsigned int flags;
struct proto *sk_proto;
void (*sk_destruct)(struct sock *);
union tls_crypto_context crypto_send;
union tls_crypto_context crypto_recv;
struct list_head list;
refcount_t refcount;
struct callback_head rcu;
};
azure: ✅struct tls_context {
struct tls_prot_info prot_info;
u8 tx_conf;
u8 rx_conf;
int (*push_pending_record)(struct sock *, int);
void (*sk_write_space)(struct sock *);
void *priv_ctx_tx;
void *priv_ctx_rx;
struct net_device *netdev;
struct cipher_context tx;
struct cipher_context rx;
struct scatterlist *partially_sent_record;
u16 partially_sent_offset;
bool in_tcp_sendpages;
bool pending_open_record_frags;
struct mutex tx_lock;
long unsigned int flags;
struct proto *sk_proto;
void (*sk_destruct)(struct sock *);
union tls_crypto_context crypto_send;
union tls_crypto_context crypto_recv;
struct list_head list;
refcount_t refcount;
struct callback_head rcu;
};
gcp: ✅struct tls_context {
struct tls_prot_info prot_info;
u8 tx_conf;
u8 rx_conf;
int (*push_pending_record)(struct sock *, int);
void (*sk_write_space)(struct sock *);
void *priv_ctx_tx;
void *priv_ctx_rx;
struct net_device *netdev;
struct cipher_context tx;
struct cipher_context rx;
struct scatterlist *partially_sent_record;
u16 partially_sent_offset;
bool in_tcp_sendpages;
bool pending_open_record_frags;
struct mutex tx_lock;
long unsigned int flags;
struct proto *sk_proto;
void (*sk_destruct)(struct sock *);
union tls_crypto_context crypto_send;
union tls_crypto_context crypto_recv;
struct list_head list;
refcount_t refcount;
struct callback_head rcu;
};
lowlatency: ✅struct tls_context {
struct tls_prot_info prot_info;
u8 tx_conf;
u8 rx_conf;
int (*push_pending_record)(struct sock *, int);
void (*sk_write_space)(struct sock *);
void *priv_ctx_tx;
void *priv_ctx_rx;
struct net_device *netdev;
struct cipher_context tx;
struct cipher_context rx;
struct scatterlist *partially_sent_record;
u16 partially_sent_offset;
bool in_tcp_sendpages;
bool pending_open_record_frags;
struct mutex tx_lock;
long unsigned int flags;
struct proto *sk_proto;
void (*sk_destruct)(struct sock *);
union tls_crypto_context crypto_send;
union tls_crypto_context crypto_recv;
struct list_head list;
refcount_t refcount;
struct callback_head rcu;
};
Regular
5.0 and 5.3 ⚠️struct tls_prot_info prot_info
struct proto *sk_proto
5.3 and 5.4 ⚠️struct mutex tx_lock
struct callback_head rcu
void (*sk_proto_close)(struct sock *, long int)
int (*setsockopt)(struct sock *, int, int, char *, unsigned int)
int (*getsockopt)(struct sock *, int, int, char *, int *)
int (*hash)(struct sock *)
void (*unhash)(struct sock *)
5.4 and 5.8 ✅
5.8 and 5.11 ✅
5.11 and 5.13 ⚠️struct sock *sk
5.13 and 5.15 ✅
5.15 and 5.19 ⚠️u8 zerocopy_sendfile
5.19 and 6.2 ⚠️u8 rx_no_pad
6.2 and 6.5 ⚠️bool splicing_pages
bool in_tcp_sendpages
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 ✅