proto
Regular
4.4
: ✅struct proto {
void (*close)(struct sock *, long int);
int (*connect)(struct sock *, struct sockaddr *, int);
int (*disconnect)(struct sock *, int);
struct sock * (*accept)(struct sock *, int, int *);
int (*ioctl)(struct sock *, int, long unsigned int);
int (*init)(struct sock *);
void (*destroy)(struct sock *);
void (*shutdown)(struct sock *, int);
int (*setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*getsockopt)(struct sock *, int, int, char *, int *);
int (*compat_setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*compat_getsockopt)(struct sock *, int, int, char *, int *);
int (*compat_ioctl)(struct sock *, unsigned int, long unsigned int);
int (*sendmsg)(struct sock *, struct msghdr *, size_t);
int (*recvmsg)(struct sock *, struct msghdr *, size_t, int, int, int *);
int (*sendpage)(struct sock *, struct page *, int, size_t, int);
int (*bind)(struct sock *, struct sockaddr *, int);
int (*backlog_rcv)(struct sock *, struct sk_buff *);
void (*release_cb)(struct sock *);
void (*hash)(struct sock *);
void (*unhash)(struct sock *);
void (*rehash)(struct sock *);
int (*get_port)(struct sock *, short unsigned int);
void (*clear_sk)(struct sock *, int);
unsigned int inuse_idx;
bool (*stream_memory_free)(const struct sock *);
void (*enter_memory_pressure)(struct sock *);
atomic_long_t *memory_allocated;
struct percpu_counter *sockets_allocated;
int *memory_pressure;
long int *sysctl_mem;
int *sysctl_wmem;
int *sysctl_rmem;
int max_header;
bool no_autobind;
struct kmem_cache *slab;
unsigned int obj_size;
int slab_flags;
struct percpu_counter *orphan_count;
struct request_sock_ops *rsk_prot;
struct timewait_sock_ops *twsk_prot;
union (anon) h;
struct module *owner;
char name[32];
struct list_head node;
int (*init_cgroup)(struct mem_cgroup *, struct cgroup_subsys *);
void (*destroy_cgroup)(struct mem_cgroup *);
struct cg_proto * (*proto_cgroup)(struct mem_cgroup *);
};
4.8
: ✅struct proto {
void (*close)(struct sock *, long int);
int (*connect)(struct sock *, struct sockaddr *, int);
int (*disconnect)(struct sock *, int);
struct sock * (*accept)(struct sock *, int, int *);
int (*ioctl)(struct sock *, int, long unsigned int);
int (*init)(struct sock *);
void (*destroy)(struct sock *);
void (*shutdown)(struct sock *, int);
int (*setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*getsockopt)(struct sock *, int, int, char *, int *);
int (*compat_setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*compat_getsockopt)(struct sock *, int, int, char *, int *);
int (*compat_ioctl)(struct sock *, unsigned int, long unsigned int);
int (*sendmsg)(struct sock *, struct msghdr *, size_t);
int (*recvmsg)(struct sock *, struct msghdr *, size_t, int, int, int *);
int (*sendpage)(struct sock *, struct page *, int, size_t, int);
int (*bind)(struct sock *, struct sockaddr *, int);
int (*backlog_rcv)(struct sock *, struct sk_buff *);
void (*release_cb)(struct sock *);
int (*hash)(struct sock *);
void (*unhash)(struct sock *);
void (*rehash)(struct sock *);
int (*get_port)(struct sock *, short unsigned int);
void (*clear_sk)(struct sock *, int);
unsigned int inuse_idx;
bool (*stream_memory_free)(const struct sock *);
void (*enter_memory_pressure)(struct sock *);
atomic_long_t *memory_allocated;
struct percpu_counter *sockets_allocated;
int *memory_pressure;
long int *sysctl_mem;
int *sysctl_wmem;
int *sysctl_rmem;
int max_header;
bool no_autobind;
struct kmem_cache *slab;
unsigned int obj_size;
int slab_flags;
struct percpu_counter *orphan_count;
struct request_sock_ops *rsk_prot;
struct timewait_sock_ops *twsk_prot;
union (anon) h;
struct module *owner;
char name[32];
struct list_head node;
int (*diag_destroy)(struct sock *, int);
};
4.10
: ✅struct proto {
void (*close)(struct sock *, long int);
int (*connect)(struct sock *, struct sockaddr *, int);
int (*disconnect)(struct sock *, int);
struct sock * (*accept)(struct sock *, int, int *);
int (*ioctl)(struct sock *, int, long unsigned int);
int (*init)(struct sock *);
void (*destroy)(struct sock *);
void (*shutdown)(struct sock *, int);
int (*setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*getsockopt)(struct sock *, int, int, char *, int *);
int (*compat_setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*compat_getsockopt)(struct sock *, int, int, char *, int *);
int (*compat_ioctl)(struct sock *, unsigned int, long unsigned int);
int (*sendmsg)(struct sock *, struct msghdr *, size_t);
int (*recvmsg)(struct sock *, struct msghdr *, size_t, int, int, int *);
int (*sendpage)(struct sock *, struct page *, int, size_t, int);
int (*bind)(struct sock *, struct sockaddr *, int);
int (*backlog_rcv)(struct sock *, struct sk_buff *);
void (*release_cb)(struct sock *);
int (*hash)(struct sock *);
void (*unhash)(struct sock *);
void (*rehash)(struct sock *);
int (*get_port)(struct sock *, short unsigned int);
unsigned int inuse_idx;
bool (*stream_memory_free)(const struct sock *);
void (*enter_memory_pressure)(struct sock *);
atomic_long_t *memory_allocated;
struct percpu_counter *sockets_allocated;
int *memory_pressure;
long int *sysctl_mem;
int *sysctl_wmem;
int *sysctl_rmem;
int max_header;
bool no_autobind;
struct kmem_cache *slab;
unsigned int obj_size;
int slab_flags;
struct percpu_counter *orphan_count;
struct request_sock_ops *rsk_prot;
struct timewait_sock_ops *twsk_prot;
union (anon) h;
struct module *owner;
char name[32];
struct list_head node;
int (*diag_destroy)(struct sock *, int);
};
4.13
: ✅struct proto {
void (*close)(struct sock *, long int);
int (*connect)(struct sock *, struct sockaddr *, int);
int (*disconnect)(struct sock *, int);
struct sock * (*accept)(struct sock *, int, int *, bool);
int (*ioctl)(struct sock *, int, long unsigned int);
int (*init)(struct sock *);
void (*destroy)(struct sock *);
void (*shutdown)(struct sock *, int);
int (*setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*getsockopt)(struct sock *, int, int, char *, int *);
void (*keepalive)(struct sock *, int);
int (*compat_setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*compat_getsockopt)(struct sock *, int, int, char *, int *);
int (*compat_ioctl)(struct sock *, unsigned int, long unsigned int);
int (*sendmsg)(struct sock *, struct msghdr *, size_t);
int (*recvmsg)(struct sock *, struct msghdr *, size_t, int, int, int *);
int (*sendpage)(struct sock *, struct page *, int, size_t, int);
int (*bind)(struct sock *, struct sockaddr *, int);
int (*backlog_rcv)(struct sock *, struct sk_buff *);
void (*release_cb)(struct sock *);
int (*hash)(struct sock *);
void (*unhash)(struct sock *);
void (*rehash)(struct sock *);
int (*get_port)(struct sock *, short unsigned int);
unsigned int inuse_idx;
bool (*stream_memory_free)(const struct sock *);
void (*enter_memory_pressure)(struct sock *);
void (*leave_memory_pressure)(struct sock *);
atomic_long_t *memory_allocated;
struct percpu_counter *sockets_allocated;
long unsigned int *memory_pressure;
long int *sysctl_mem;
int *sysctl_wmem;
int *sysctl_rmem;
int max_header;
bool no_autobind;
struct kmem_cache *slab;
unsigned int obj_size;
int slab_flags;
struct percpu_counter *orphan_count;
struct request_sock_ops *rsk_prot;
struct timewait_sock_ops *twsk_prot;
union (anon) h;
struct module *owner;
char name[32];
struct list_head node;
int (*diag_destroy)(struct sock *, int);
};
4.15
: ✅struct proto {
void (*close)(struct sock *, long int);
int (*connect)(struct sock *, struct sockaddr *, int);
int (*disconnect)(struct sock *, int);
struct sock * (*accept)(struct sock *, int, int *, bool);
int (*ioctl)(struct sock *, int, long unsigned int);
int (*init)(struct sock *);
void (*destroy)(struct sock *);
void (*shutdown)(struct sock *, int);
int (*setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*getsockopt)(struct sock *, int, int, char *, int *);
void (*keepalive)(struct sock *, int);
int (*compat_setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*compat_getsockopt)(struct sock *, int, int, char *, int *);
int (*compat_ioctl)(struct sock *, unsigned int, long unsigned int);
int (*sendmsg)(struct sock *, struct msghdr *, size_t);
int (*recvmsg)(struct sock *, struct msghdr *, size_t, int, int, int *);
int (*sendpage)(struct sock *, struct page *, int, size_t, int);
int (*bind)(struct sock *, struct sockaddr *, int);
int (*backlog_rcv)(struct sock *, struct sk_buff *);
void (*release_cb)(struct sock *);
int (*hash)(struct sock *);
void (*unhash)(struct sock *);
void (*rehash)(struct sock *);
int (*get_port)(struct sock *, short unsigned int);
unsigned int inuse_idx;
bool (*stream_memory_free)(const struct sock *);
void (*enter_memory_pressure)(struct sock *);
void (*leave_memory_pressure)(struct sock *);
atomic_long_t *memory_allocated;
struct percpu_counter *sockets_allocated;
long unsigned int *memory_pressure;
long int *sysctl_mem;
int *sysctl_wmem;
int *sysctl_rmem;
u32 sysctl_wmem_offset;
u32 sysctl_rmem_offset;
int max_header;
bool no_autobind;
struct kmem_cache *slab;
unsigned int obj_size;
slab_flags_t slab_flags;
struct percpu_counter *orphan_count;
struct request_sock_ops *rsk_prot;
struct timewait_sock_ops *twsk_prot;
union (anon) h;
struct module *owner;
char name[32];
struct list_head node;
int (*diag_destroy)(struct sock *, int);
};
4.18
: ✅struct proto {
void (*close)(struct sock *, long int);
int (*pre_connect)(struct sock *, struct sockaddr *, int);
int (*connect)(struct sock *, struct sockaddr *, int);
int (*disconnect)(struct sock *, int);
struct sock * (*accept)(struct sock *, int, int *, bool);
int (*ioctl)(struct sock *, int, long unsigned int);
int (*init)(struct sock *);
void (*destroy)(struct sock *);
void (*shutdown)(struct sock *, int);
int (*setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*getsockopt)(struct sock *, int, int, char *, int *);
void (*keepalive)(struct sock *, int);
int (*compat_setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*compat_getsockopt)(struct sock *, int, int, char *, int *);
int (*compat_ioctl)(struct sock *, unsigned int, long unsigned int);
int (*sendmsg)(struct sock *, struct msghdr *, size_t);
int (*recvmsg)(struct sock *, struct msghdr *, size_t, int, int, int *);
int (*sendpage)(struct sock *, struct page *, int, size_t, int);
int (*bind)(struct sock *, struct sockaddr *, int);
int (*backlog_rcv)(struct sock *, struct sk_buff *);
void (*release_cb)(struct sock *);
int (*hash)(struct sock *);
void (*unhash)(struct sock *);
void (*rehash)(struct sock *);
int (*get_port)(struct sock *, short unsigned int);
unsigned int inuse_idx;
bool (*stream_memory_free)(const struct sock *);
bool (*stream_memory_read)(const struct sock *);
void (*enter_memory_pressure)(struct sock *);
void (*leave_memory_pressure)(struct sock *);
atomic_long_t *memory_allocated;
struct percpu_counter *sockets_allocated;
long unsigned int *memory_pressure;
long int *sysctl_mem;
int *sysctl_wmem;
int *sysctl_rmem;
u32 sysctl_wmem_offset;
u32 sysctl_rmem_offset;
int max_header;
bool no_autobind;
struct kmem_cache *slab;
unsigned int obj_size;
slab_flags_t slab_flags;
unsigned int useroffset;
unsigned int usersize;
struct percpu_counter *orphan_count;
struct request_sock_ops *rsk_prot;
struct timewait_sock_ops *twsk_prot;
union (anon) h;
struct module *owner;
char name[32];
struct list_head node;
int (*diag_destroy)(struct sock *, int);
};
5.0
: ✅struct proto {
void (*close)(struct sock *, long int);
int (*pre_connect)(struct sock *, struct sockaddr *, int);
int (*connect)(struct sock *, struct sockaddr *, int);
int (*disconnect)(struct sock *, int);
struct sock * (*accept)(struct sock *, int, int *, bool);
int (*ioctl)(struct sock *, int, long unsigned int);
int (*init)(struct sock *);
void (*destroy)(struct sock *);
void (*shutdown)(struct sock *, int);
int (*setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*getsockopt)(struct sock *, int, int, char *, int *);
void (*keepalive)(struct sock *, int);
int (*compat_setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*compat_getsockopt)(struct sock *, int, int, char *, int *);
int (*compat_ioctl)(struct sock *, unsigned int, long unsigned int);
int (*sendmsg)(struct sock *, struct msghdr *, size_t);
int (*recvmsg)(struct sock *, struct msghdr *, size_t, int, int, int *);
int (*sendpage)(struct sock *, struct page *, int, size_t, int);
int (*bind)(struct sock *, struct sockaddr *, int);
int (*backlog_rcv)(struct sock *, struct sk_buff *);
void (*release_cb)(struct sock *);
int (*hash)(struct sock *);
void (*unhash)(struct sock *);
void (*rehash)(struct sock *);
int (*get_port)(struct sock *, short unsigned int);
unsigned int inuse_idx;
bool (*stream_memory_free)(const struct sock *, int);
bool (*stream_memory_read)(const struct sock *);
void (*enter_memory_pressure)(struct sock *);
void (*leave_memory_pressure)(struct sock *);
atomic_long_t *memory_allocated;
struct percpu_counter *sockets_allocated;
long unsigned int *memory_pressure;
long int *sysctl_mem;
int *sysctl_wmem;
int *sysctl_rmem;
u32 sysctl_wmem_offset;
u32 sysctl_rmem_offset;
int max_header;
bool no_autobind;
struct kmem_cache *slab;
unsigned int obj_size;
slab_flags_t slab_flags;
unsigned int useroffset;
unsigned int usersize;
struct percpu_counter *orphan_count;
struct request_sock_ops *rsk_prot;
struct timewait_sock_ops *twsk_prot;
union (anon) h;
struct module *owner;
char name[32];
struct list_head node;
int (*diag_destroy)(struct sock *, int);
};
5.3
: ✅struct proto {
void (*close)(struct sock *, long int);
int (*pre_connect)(struct sock *, struct sockaddr *, int);
int (*connect)(struct sock *, struct sockaddr *, int);
int (*disconnect)(struct sock *, int);
struct sock * (*accept)(struct sock *, int, int *, bool);
int (*ioctl)(struct sock *, int, long unsigned int);
int (*init)(struct sock *);
void (*destroy)(struct sock *);
void (*shutdown)(struct sock *, int);
int (*setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*getsockopt)(struct sock *, int, int, char *, int *);
void (*keepalive)(struct sock *, int);
int (*compat_setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*compat_getsockopt)(struct sock *, int, int, char *, int *);
int (*compat_ioctl)(struct sock *, unsigned int, long unsigned int);
int (*sendmsg)(struct sock *, struct msghdr *, size_t);
int (*recvmsg)(struct sock *, struct msghdr *, size_t, int, int, int *);
int (*sendpage)(struct sock *, struct page *, int, size_t, int);
int (*bind)(struct sock *, struct sockaddr *, int);
int (*backlog_rcv)(struct sock *, struct sk_buff *);
void (*release_cb)(struct sock *);
int (*hash)(struct sock *);
void (*unhash)(struct sock *);
void (*rehash)(struct sock *);
int (*get_port)(struct sock *, short unsigned int);
unsigned int inuse_idx;
bool (*stream_memory_free)(const struct sock *, int);
bool (*stream_memory_read)(const struct sock *);
void (*enter_memory_pressure)(struct sock *);
void (*leave_memory_pressure)(struct sock *);
atomic_long_t *memory_allocated;
struct percpu_counter *sockets_allocated;
long unsigned int *memory_pressure;
long int *sysctl_mem;
int *sysctl_wmem;
int *sysctl_rmem;
u32 sysctl_wmem_offset;
u32 sysctl_rmem_offset;
int max_header;
bool no_autobind;
struct kmem_cache *slab;
unsigned int obj_size;
slab_flags_t slab_flags;
unsigned int useroffset;
unsigned int usersize;
struct percpu_counter *orphan_count;
struct request_sock_ops *rsk_prot;
struct timewait_sock_ops *twsk_prot;
union (anon) h;
struct module *owner;
char name[32];
struct list_head node;
int (*diag_destroy)(struct sock *, int);
};
5.4
: ✅struct proto {
void (*close)(struct sock *, long int);
int (*pre_connect)(struct sock *, struct sockaddr *, int);
int (*connect)(struct sock *, struct sockaddr *, int);
int (*disconnect)(struct sock *, int);
struct sock * (*accept)(struct sock *, int, int *, bool);
int (*ioctl)(struct sock *, int, long unsigned int);
int (*init)(struct sock *);
void (*destroy)(struct sock *);
void (*shutdown)(struct sock *, int);
int (*setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*getsockopt)(struct sock *, int, int, char *, int *);
void (*keepalive)(struct sock *, int);
int (*compat_setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*compat_getsockopt)(struct sock *, int, int, char *, int *);
int (*compat_ioctl)(struct sock *, unsigned int, long unsigned int);
int (*sendmsg)(struct sock *, struct msghdr *, size_t);
int (*recvmsg)(struct sock *, struct msghdr *, size_t, int, int, int *);
int (*sendpage)(struct sock *, struct page *, int, size_t, int);
int (*bind)(struct sock *, struct sockaddr *, int);
int (*backlog_rcv)(struct sock *, struct sk_buff *);
void (*release_cb)(struct sock *);
int (*hash)(struct sock *);
void (*unhash)(struct sock *);
void (*rehash)(struct sock *);
int (*get_port)(struct sock *, short unsigned int);
unsigned int inuse_idx;
bool (*stream_memory_free)(const struct sock *, int);
bool (*stream_memory_read)(const struct sock *);
void (*enter_memory_pressure)(struct sock *);
void (*leave_memory_pressure)(struct sock *);
atomic_long_t *memory_allocated;
struct percpu_counter *sockets_allocated;
long unsigned int *memory_pressure;
long int *sysctl_mem;
int *sysctl_wmem;
int *sysctl_rmem;
u32 sysctl_wmem_offset;
u32 sysctl_rmem_offset;
int max_header;
bool no_autobind;
struct kmem_cache *slab;
unsigned int obj_size;
slab_flags_t slab_flags;
unsigned int useroffset;
unsigned int usersize;
struct percpu_counter *orphan_count;
struct request_sock_ops *rsk_prot;
struct timewait_sock_ops *twsk_prot;
union (anon) h;
struct module *owner;
char name[32];
struct list_head node;
int (*diag_destroy)(struct sock *, int);
};
5.8
: ✅struct proto {
void (*close)(struct sock *, long int);
int (*pre_connect)(struct sock *, struct sockaddr *, int);
int (*connect)(struct sock *, struct sockaddr *, int);
int (*disconnect)(struct sock *, int);
struct sock * (*accept)(struct sock *, int, int *, bool);
int (*ioctl)(struct sock *, int, long unsigned int);
int (*init)(struct sock *);
void (*destroy)(struct sock *);
void (*shutdown)(struct sock *, int);
int (*setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*getsockopt)(struct sock *, int, int, char *, int *);
void (*keepalive)(struct sock *, int);
int (*compat_setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*compat_getsockopt)(struct sock *, int, int, char *, int *);
int (*compat_ioctl)(struct sock *, unsigned int, long unsigned int);
int (*sendmsg)(struct sock *, struct msghdr *, size_t);
int (*recvmsg)(struct sock *, struct msghdr *, size_t, int, int, int *);
int (*sendpage)(struct sock *, struct page *, int, size_t, int);
int (*bind)(struct sock *, struct sockaddr *, int);
int (*bind_add)(struct sock *, struct sockaddr *, int);
int (*backlog_rcv)(struct sock *, struct sk_buff *);
void (*release_cb)(struct sock *);
int (*hash)(struct sock *);
void (*unhash)(struct sock *);
void (*rehash)(struct sock *);
int (*get_port)(struct sock *, short unsigned int);
unsigned int inuse_idx;
bool (*stream_memory_free)(const struct sock *, int);
bool (*stream_memory_read)(const struct sock *);
void (*enter_memory_pressure)(struct sock *);
void (*leave_memory_pressure)(struct sock *);
atomic_long_t *memory_allocated;
struct percpu_counter *sockets_allocated;
long unsigned int *memory_pressure;
long int *sysctl_mem;
int *sysctl_wmem;
int *sysctl_rmem;
u32 sysctl_wmem_offset;
u32 sysctl_rmem_offset;
int max_header;
bool no_autobind;
struct kmem_cache *slab;
unsigned int obj_size;
slab_flags_t slab_flags;
unsigned int useroffset;
unsigned int usersize;
struct percpu_counter *orphan_count;
struct request_sock_ops *rsk_prot;
struct timewait_sock_ops *twsk_prot;
union (anon) h;
struct module *owner;
char name[32];
struct list_head node;
int (*diag_destroy)(struct sock *, int);
};
5.11
: ✅struct proto {
void (*close)(struct sock *, long int);
int (*pre_connect)(struct sock *, struct sockaddr *, int);
int (*connect)(struct sock *, struct sockaddr *, int);
int (*disconnect)(struct sock *, int);
struct sock * (*accept)(struct sock *, int, int *, bool);
int (*ioctl)(struct sock *, int, long unsigned int);
int (*init)(struct sock *);
void (*destroy)(struct sock *);
void (*shutdown)(struct sock *, int);
int (*setsockopt)(struct sock *, int, int, sockptr_t, unsigned int);
int (*getsockopt)(struct sock *, int, int, char *, int *);
void (*keepalive)(struct sock *, int);
int (*compat_ioctl)(struct sock *, unsigned int, long unsigned int);
int (*sendmsg)(struct sock *, struct msghdr *, size_t);
int (*recvmsg)(struct sock *, struct msghdr *, size_t, int, int, int *);
int (*sendpage)(struct sock *, struct page *, int, size_t, int);
int (*bind)(struct sock *, struct sockaddr *, int);
int (*bind_add)(struct sock *, struct sockaddr *, int);
int (*backlog_rcv)(struct sock *, struct sk_buff *);
void (*release_cb)(struct sock *);
int (*hash)(struct sock *);
void (*unhash)(struct sock *);
void (*rehash)(struct sock *);
int (*get_port)(struct sock *, short unsigned int);
unsigned int inuse_idx;
bool (*stream_memory_free)(const struct sock *, int);
bool (*stream_memory_read)(const struct sock *);
void (*enter_memory_pressure)(struct sock *);
void (*leave_memory_pressure)(struct sock *);
atomic_long_t *memory_allocated;
struct percpu_counter *sockets_allocated;
long unsigned int *memory_pressure;
long int *sysctl_mem;
int *sysctl_wmem;
int *sysctl_rmem;
u32 sysctl_wmem_offset;
u32 sysctl_rmem_offset;
int max_header;
bool no_autobind;
struct kmem_cache *slab;
unsigned int obj_size;
slab_flags_t slab_flags;
unsigned int useroffset;
unsigned int usersize;
struct percpu_counter *orphan_count;
struct request_sock_ops *rsk_prot;
struct timewait_sock_ops *twsk_prot;
union (anon) h;
struct module *owner;
char name[32];
struct list_head node;
int (*diag_destroy)(struct sock *, int);
};
5.13
: ✅struct proto {
void (*close)(struct sock *, long int);
int (*pre_connect)(struct sock *, struct sockaddr *, int);
int (*connect)(struct sock *, struct sockaddr *, int);
int (*disconnect)(struct sock *, int);
struct sock * (*accept)(struct sock *, int, int *, bool);
int (*ioctl)(struct sock *, int, long unsigned int);
int (*init)(struct sock *);
void (*destroy)(struct sock *);
void (*shutdown)(struct sock *, int);
int (*setsockopt)(struct sock *, int, int, sockptr_t, unsigned int);
int (*getsockopt)(struct sock *, int, int, char *, int *);
void (*keepalive)(struct sock *, int);
int (*compat_ioctl)(struct sock *, unsigned int, long unsigned int);
int (*sendmsg)(struct sock *, struct msghdr *, size_t);
int (*recvmsg)(struct sock *, struct msghdr *, size_t, int, int, int *);
int (*sendpage)(struct sock *, struct page *, int, size_t, int);
int (*bind)(struct sock *, struct sockaddr *, int);
int (*bind_add)(struct sock *, struct sockaddr *, int);
int (*backlog_rcv)(struct sock *, struct sk_buff *);
bool (*bpf_bypass_getsockopt)(int, int);
void (*release_cb)(struct sock *);
int (*hash)(struct sock *);
void (*unhash)(struct sock *);
void (*rehash)(struct sock *);
int (*get_port)(struct sock *, short unsigned int);
int (*psock_update_sk_prot)(struct sock *, struct sk_psock *, bool);
unsigned int inuse_idx;
bool (*stream_memory_free)(const struct sock *, int);
bool (*stream_memory_read)(const struct sock *);
void (*enter_memory_pressure)(struct sock *);
void (*leave_memory_pressure)(struct sock *);
atomic_long_t *memory_allocated;
struct percpu_counter *sockets_allocated;
long unsigned int *memory_pressure;
long int *sysctl_mem;
int *sysctl_wmem;
int *sysctl_rmem;
u32 sysctl_wmem_offset;
u32 sysctl_rmem_offset;
int max_header;
bool no_autobind;
struct kmem_cache *slab;
unsigned int obj_size;
slab_flags_t slab_flags;
unsigned int useroffset;
unsigned int usersize;
struct percpu_counter *orphan_count;
struct request_sock_ops *rsk_prot;
struct timewait_sock_ops *twsk_prot;
union (anon) h;
struct module *owner;
char name[32];
struct list_head node;
int (*diag_destroy)(struct sock *, int);
};
5.15
: ✅struct proto {
void (*close)(struct sock *, long int);
int (*pre_connect)(struct sock *, struct sockaddr *, int);
int (*connect)(struct sock *, struct sockaddr *, int);
int (*disconnect)(struct sock *, int);
struct sock * (*accept)(struct sock *, int, int *, bool);
int (*ioctl)(struct sock *, int, long unsigned int);
int (*init)(struct sock *);
void (*destroy)(struct sock *);
void (*shutdown)(struct sock *, int);
int (*setsockopt)(struct sock *, int, int, sockptr_t, unsigned int);
int (*getsockopt)(struct sock *, int, int, char *, int *);
void (*keepalive)(struct sock *, int);
int (*compat_ioctl)(struct sock *, unsigned int, long unsigned int);
int (*sendmsg)(struct sock *, struct msghdr *, size_t);
int (*recvmsg)(struct sock *, struct msghdr *, size_t, int, int, int *);
int (*sendpage)(struct sock *, struct page *, int, size_t, int);
int (*bind)(struct sock *, struct sockaddr *, int);
int (*bind_add)(struct sock *, struct sockaddr *, int);
int (*backlog_rcv)(struct sock *, struct sk_buff *);
bool (*bpf_bypass_getsockopt)(int, int);
void (*release_cb)(struct sock *);
int (*hash)(struct sock *);
void (*unhash)(struct sock *);
void (*rehash)(struct sock *);
int (*get_port)(struct sock *, short unsigned int);
int (*psock_update_sk_prot)(struct sock *, struct sk_psock *, bool);
unsigned int inuse_idx;
bool (*stream_memory_free)(const struct sock *, int);
bool (*sock_is_readable)(struct sock *);
void (*enter_memory_pressure)(struct sock *);
void (*leave_memory_pressure)(struct sock *);
atomic_long_t *memory_allocated;
struct percpu_counter *sockets_allocated;
long unsigned int *memory_pressure;
long int *sysctl_mem;
int *sysctl_wmem;
int *sysctl_rmem;
u32 sysctl_wmem_offset;
u32 sysctl_rmem_offset;
int max_header;
bool no_autobind;
struct kmem_cache *slab;
unsigned int obj_size;
slab_flags_t slab_flags;
unsigned int useroffset;
unsigned int usersize;
unsigned int *orphan_count;
struct request_sock_ops *rsk_prot;
struct timewait_sock_ops *twsk_prot;
union (anon) h;
struct module *owner;
char name[32];
struct list_head node;
int (*diag_destroy)(struct sock *, int);
};
5.19
: ✅struct proto {
void (*close)(struct sock *, long int);
int (*pre_connect)(struct sock *, struct sockaddr *, int);
int (*connect)(struct sock *, struct sockaddr *, int);
int (*disconnect)(struct sock *, int);
struct sock * (*accept)(struct sock *, int, int *, bool);
int (*ioctl)(struct sock *, int, long unsigned int);
int (*init)(struct sock *);
void (*destroy)(struct sock *);
void (*shutdown)(struct sock *, int);
int (*setsockopt)(struct sock *, int, int, sockptr_t, unsigned int);
int (*getsockopt)(struct sock *, int, int, char *, int *);
void (*keepalive)(struct sock *, int);
int (*compat_ioctl)(struct sock *, unsigned int, long unsigned int);
int (*sendmsg)(struct sock *, struct msghdr *, size_t);
int (*recvmsg)(struct sock *, struct msghdr *, size_t, int, int *);
int (*sendpage)(struct sock *, struct page *, int, size_t, int);
int (*bind)(struct sock *, struct sockaddr *, int);
int (*bind_add)(struct sock *, struct sockaddr *, int);
int (*backlog_rcv)(struct sock *, struct sk_buff *);
bool (*bpf_bypass_getsockopt)(int, int);
void (*release_cb)(struct sock *);
int (*hash)(struct sock *);
void (*unhash)(struct sock *);
void (*rehash)(struct sock *);
int (*get_port)(struct sock *, short unsigned int);
void (*put_port)(struct sock *);
int (*psock_update_sk_prot)(struct sock *, struct sk_psock *, bool);
unsigned int inuse_idx;
int (*forward_alloc_get)(const struct sock *);
bool (*stream_memory_free)(const struct sock *, int);
bool (*sock_is_readable)(struct sock *);
void (*enter_memory_pressure)(struct sock *);
void (*leave_memory_pressure)(struct sock *);
atomic_long_t *memory_allocated;
struct percpu_counter *sockets_allocated;
long unsigned int *memory_pressure;
long int *sysctl_mem;
int *sysctl_wmem;
int *sysctl_rmem;
u32 sysctl_wmem_offset;
u32 sysctl_rmem_offset;
int max_header;
bool no_autobind;
struct kmem_cache *slab;
unsigned int obj_size;
slab_flags_t slab_flags;
unsigned int useroffset;
unsigned int usersize;
unsigned int *orphan_count;
struct request_sock_ops *rsk_prot;
struct timewait_sock_ops *twsk_prot;
union (anon) h;
struct module *owner;
char name[32];
struct list_head node;
int (*diag_destroy)(struct sock *, int);
};
6.2
: ✅struct proto {
void (*close)(struct sock *, long int);
int (*pre_connect)(struct sock *, struct sockaddr *, int);
int (*connect)(struct sock *, struct sockaddr *, int);
int (*disconnect)(struct sock *, int);
struct sock * (*accept)(struct sock *, int, int *, bool);
int (*ioctl)(struct sock *, int, long unsigned int);
int (*init)(struct sock *);
void (*destroy)(struct sock *);
void (*shutdown)(struct sock *, int);
int (*setsockopt)(struct sock *, int, int, sockptr_t, unsigned int);
int (*getsockopt)(struct sock *, int, int, char *, int *);
void (*keepalive)(struct sock *, int);
int (*compat_ioctl)(struct sock *, unsigned int, long unsigned int);
int (*sendmsg)(struct sock *, struct msghdr *, size_t);
int (*recvmsg)(struct sock *, struct msghdr *, size_t, int, int *);
int (*sendpage)(struct sock *, struct page *, int, size_t, int);
int (*bind)(struct sock *, struct sockaddr *, int);
int (*bind_add)(struct sock *, struct sockaddr *, int);
int (*backlog_rcv)(struct sock *, struct sk_buff *);
bool (*bpf_bypass_getsockopt)(int, int);
void (*release_cb)(struct sock *);
int (*hash)(struct sock *);
void (*unhash)(struct sock *);
void (*rehash)(struct sock *);
int (*get_port)(struct sock *, short unsigned int);
void (*put_port)(struct sock *);
int (*psock_update_sk_prot)(struct sock *, struct sk_psock *, bool);
unsigned int inuse_idx;
int (*forward_alloc_get)(const struct sock *);
bool (*stream_memory_free)(const struct sock *, int);
bool (*sock_is_readable)(struct sock *);
void (*enter_memory_pressure)(struct sock *);
void (*leave_memory_pressure)(struct sock *);
atomic_long_t *memory_allocated;
int *per_cpu_fw_alloc;
struct percpu_counter *sockets_allocated;
long unsigned int *memory_pressure;
long int *sysctl_mem;
int *sysctl_wmem;
int *sysctl_rmem;
u32 sysctl_wmem_offset;
u32 sysctl_rmem_offset;
int max_header;
bool no_autobind;
struct kmem_cache *slab;
unsigned int obj_size;
slab_flags_t slab_flags;
unsigned int useroffset;
unsigned int usersize;
unsigned int *orphan_count;
struct request_sock_ops *rsk_prot;
struct timewait_sock_ops *twsk_prot;
union (anon) h;
struct module *owner;
char name[32];
struct list_head node;
int (*diag_destroy)(struct sock *, int);
};
6.5
: ✅struct proto {
void (*close)(struct sock *, long int);
int (*pre_connect)(struct sock *, struct sockaddr *, int);
int (*connect)(struct sock *, struct sockaddr *, int);
int (*disconnect)(struct sock *, int);
struct sock * (*accept)(struct sock *, int, int *, bool);
int (*ioctl)(struct sock *, int, int *);
int (*init)(struct sock *);
void (*destroy)(struct sock *);
void (*shutdown)(struct sock *, int);
int (*setsockopt)(struct sock *, int, int, sockptr_t, unsigned int);
int (*getsockopt)(struct sock *, int, int, char *, int *);
void (*keepalive)(struct sock *, int);
int (*compat_ioctl)(struct sock *, unsigned int, long unsigned int);
int (*sendmsg)(struct sock *, struct msghdr *, size_t);
int (*recvmsg)(struct sock *, struct msghdr *, size_t, int, int *);
void (*splice_eof)(struct socket *);
int (*bind)(struct sock *, struct sockaddr *, int);
int (*bind_add)(struct sock *, struct sockaddr *, int);
int (*backlog_rcv)(struct sock *, struct sk_buff *);
bool (*bpf_bypass_getsockopt)(int, int);
void (*release_cb)(struct sock *);
int (*hash)(struct sock *);
void (*unhash)(struct sock *);
void (*rehash)(struct sock *);
int (*get_port)(struct sock *, short unsigned int);
void (*put_port)(struct sock *);
int (*psock_update_sk_prot)(struct sock *, struct sk_psock *, bool);
unsigned int inuse_idx;
int (*forward_alloc_get)(const struct sock *);
bool (*stream_memory_free)(const struct sock *, int);
bool (*sock_is_readable)(struct sock *);
void (*enter_memory_pressure)(struct sock *);
void (*leave_memory_pressure)(struct sock *);
atomic_long_t *memory_allocated;
int *per_cpu_fw_alloc;
struct percpu_counter *sockets_allocated;
long unsigned int *memory_pressure;
long int *sysctl_mem;
int *sysctl_wmem;
int *sysctl_rmem;
u32 sysctl_wmem_offset;
u32 sysctl_rmem_offset;
int max_header;
bool no_autobind;
struct kmem_cache *slab;
unsigned int obj_size;
unsigned int ipv6_pinfo_offset;
slab_flags_t slab_flags;
unsigned int useroffset;
unsigned int usersize;
unsigned int *orphan_count;
struct request_sock_ops *rsk_prot;
struct timewait_sock_ops *twsk_prot;
union (anon) h;
struct module *owner;
char name[32];
struct list_head node;
int (*diag_destroy)(struct sock *, int);
};
6.8
: ✅struct proto {
void (*close)(struct sock *, long int);
int (*pre_connect)(struct sock *, struct sockaddr *, int);
int (*connect)(struct sock *, struct sockaddr *, int);
int (*disconnect)(struct sock *, int);
struct sock * (*accept)(struct sock *, int, int *, bool);
int (*ioctl)(struct sock *, int, int *);
int (*init)(struct sock *);
void (*destroy)(struct sock *);
void (*shutdown)(struct sock *, int);
int (*setsockopt)(struct sock *, int, int, sockptr_t, unsigned int);
int (*getsockopt)(struct sock *, int, int, char *, int *);
void (*keepalive)(struct sock *, int);
int (*compat_ioctl)(struct sock *, unsigned int, long unsigned int);
int (*sendmsg)(struct sock *, struct msghdr *, size_t);
int (*recvmsg)(struct sock *, struct msghdr *, size_t, int, int *);
void (*splice_eof)(struct socket *);
int (*bind)(struct sock *, struct sockaddr *, int);
int (*bind_add)(struct sock *, struct sockaddr *, int);
int (*backlog_rcv)(struct sock *, struct sk_buff *);
bool (*bpf_bypass_getsockopt)(int, int);
void (*release_cb)(struct sock *);
int (*hash)(struct sock *);
void (*unhash)(struct sock *);
void (*rehash)(struct sock *);
int (*get_port)(struct sock *, short unsigned int);
void (*put_port)(struct sock *);
int (*psock_update_sk_prot)(struct sock *, struct sk_psock *, bool);
unsigned int inuse_idx;
int (*forward_alloc_get)(const struct sock *);
bool (*stream_memory_free)(const struct sock *, int);
bool (*sock_is_readable)(struct sock *);
void (*enter_memory_pressure)(struct sock *);
void (*leave_memory_pressure)(struct sock *);
atomic_long_t *memory_allocated;
int *per_cpu_fw_alloc;
struct percpu_counter *sockets_allocated;
long unsigned int *memory_pressure;
long int *sysctl_mem;
int *sysctl_wmem;
int *sysctl_rmem;
u32 sysctl_wmem_offset;
u32 sysctl_rmem_offset;
int max_header;
bool no_autobind;
struct kmem_cache *slab;
unsigned int obj_size;
unsigned int ipv6_pinfo_offset;
slab_flags_t slab_flags;
unsigned int useroffset;
unsigned int usersize;
unsigned int *orphan_count;
struct request_sock_ops *rsk_prot;
struct timewait_sock_ops *twsk_prot;
union (anon) h;
struct module *owner;
char name[32];
struct list_head node;
int (*diag_destroy)(struct sock *, int);
};
arm64
: ✅struct proto {
void (*close)(struct sock *, long int);
int (*pre_connect)(struct sock *, struct sockaddr *, int);
int (*connect)(struct sock *, struct sockaddr *, int);
int (*disconnect)(struct sock *, int);
struct sock * (*accept)(struct sock *, int, int *, bool);
int (*ioctl)(struct sock *, int, long unsigned int);
int (*init)(struct sock *);
void (*destroy)(struct sock *);
void (*shutdown)(struct sock *, int);
int (*setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*getsockopt)(struct sock *, int, int, char *, int *);
void (*keepalive)(struct sock *, int);
int (*compat_setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*compat_getsockopt)(struct sock *, int, int, char *, int *);
int (*compat_ioctl)(struct sock *, unsigned int, long unsigned int);
int (*sendmsg)(struct sock *, struct msghdr *, size_t);
int (*recvmsg)(struct sock *, struct msghdr *, size_t, int, int, int *);
int (*sendpage)(struct sock *, struct page *, int, size_t, int);
int (*bind)(struct sock *, struct sockaddr *, int);
int (*backlog_rcv)(struct sock *, struct sk_buff *);
void (*release_cb)(struct sock *);
int (*hash)(struct sock *);
void (*unhash)(struct sock *);
void (*rehash)(struct sock *);
int (*get_port)(struct sock *, short unsigned int);
unsigned int inuse_idx;
bool (*stream_memory_free)(const struct sock *, int);
bool (*stream_memory_read)(const struct sock *);
void (*enter_memory_pressure)(struct sock *);
void (*leave_memory_pressure)(struct sock *);
atomic_long_t *memory_allocated;
struct percpu_counter *sockets_allocated;
long unsigned int *memory_pressure;
long int *sysctl_mem;
int *sysctl_wmem;
int *sysctl_rmem;
u32 sysctl_wmem_offset;
u32 sysctl_rmem_offset;
int max_header;
bool no_autobind;
struct kmem_cache *slab;
unsigned int obj_size;
slab_flags_t slab_flags;
unsigned int useroffset;
unsigned int usersize;
struct percpu_counter *orphan_count;
struct request_sock_ops *rsk_prot;
struct timewait_sock_ops *twsk_prot;
union (anon) h;
struct module *owner;
char name[32];
struct list_head node;
int (*diag_destroy)(struct sock *, int);
};
armhf
: ✅struct proto {
void (*close)(struct sock *, long int);
int (*pre_connect)(struct sock *, struct sockaddr *, int);
int (*connect)(struct sock *, struct sockaddr *, int);
int (*disconnect)(struct sock *, int);
struct sock * (*accept)(struct sock *, int, int *, bool);
int (*ioctl)(struct sock *, int, long unsigned int);
int (*init)(struct sock *);
void (*destroy)(struct sock *);
void (*shutdown)(struct sock *, int);
int (*setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*getsockopt)(struct sock *, int, int, char *, int *);
void (*keepalive)(struct sock *, int);
int (*sendmsg)(struct sock *, struct msghdr *, size_t);
int (*recvmsg)(struct sock *, struct msghdr *, size_t, int, int, int *);
int (*sendpage)(struct sock *, struct page *, int, size_t, int);
int (*bind)(struct sock *, struct sockaddr *, int);
int (*backlog_rcv)(struct sock *, struct sk_buff *);
void (*release_cb)(struct sock *);
int (*hash)(struct sock *);
void (*unhash)(struct sock *);
void (*rehash)(struct sock *);
int (*get_port)(struct sock *, short unsigned int);
unsigned int inuse_idx;
bool (*stream_memory_free)(const struct sock *, int);
bool (*stream_memory_read)(const struct sock *);
void (*enter_memory_pressure)(struct sock *);
void (*leave_memory_pressure)(struct sock *);
atomic_long_t *memory_allocated;
struct percpu_counter *sockets_allocated;
long unsigned int *memory_pressure;
long int *sysctl_mem;
int *sysctl_wmem;
int *sysctl_rmem;
u32 sysctl_wmem_offset;
u32 sysctl_rmem_offset;
int max_header;
bool no_autobind;
struct kmem_cache *slab;
unsigned int obj_size;
slab_flags_t slab_flags;
unsigned int useroffset;
unsigned int usersize;
struct percpu_counter *orphan_count;
struct request_sock_ops *rsk_prot;
struct timewait_sock_ops *twsk_prot;
union (anon) h;
struct module *owner;
char name[32];
struct list_head node;
int (*diag_destroy)(struct sock *, int);
};
ppc64el
: ✅struct proto {
void (*close)(struct sock *, long int);
int (*pre_connect)(struct sock *, struct sockaddr *, int);
int (*connect)(struct sock *, struct sockaddr *, int);
int (*disconnect)(struct sock *, int);
struct sock * (*accept)(struct sock *, int, int *, bool);
int (*ioctl)(struct sock *, int, long unsigned int);
int (*init)(struct sock *);
void (*destroy)(struct sock *);
void (*shutdown)(struct sock *, int);
int (*setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*getsockopt)(struct sock *, int, int, char *, int *);
void (*keepalive)(struct sock *, int);
int (*compat_setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*compat_getsockopt)(struct sock *, int, int, char *, int *);
int (*compat_ioctl)(struct sock *, unsigned int, long unsigned int);
int (*sendmsg)(struct sock *, struct msghdr *, size_t);
int (*recvmsg)(struct sock *, struct msghdr *, size_t, int, int, int *);
int (*sendpage)(struct sock *, struct page *, int, size_t, int);
int (*bind)(struct sock *, struct sockaddr *, int);
int (*backlog_rcv)(struct sock *, struct sk_buff *);
void (*release_cb)(struct sock *);
int (*hash)(struct sock *);
void (*unhash)(struct sock *);
void (*rehash)(struct sock *);
int (*get_port)(struct sock *, short unsigned int);
unsigned int inuse_idx;
bool (*stream_memory_free)(const struct sock *, int);
bool (*stream_memory_read)(const struct sock *);
void (*enter_memory_pressure)(struct sock *);
void (*leave_memory_pressure)(struct sock *);
atomic_long_t *memory_allocated;
struct percpu_counter *sockets_allocated;
long unsigned int *memory_pressure;
long int *sysctl_mem;
int *sysctl_wmem;
int *sysctl_rmem;
u32 sysctl_wmem_offset;
u32 sysctl_rmem_offset;
int max_header;
bool no_autobind;
struct kmem_cache *slab;
unsigned int obj_size;
slab_flags_t slab_flags;
unsigned int useroffset;
unsigned int usersize;
struct percpu_counter *orphan_count;
struct request_sock_ops *rsk_prot;
struct timewait_sock_ops *twsk_prot;
union (anon) h;
struct module *owner;
char name[32];
struct list_head node;
int (*diag_destroy)(struct sock *, int);
};
riscv64
: ✅struct proto {
void (*close)(struct sock *, long int);
int (*pre_connect)(struct sock *, struct sockaddr *, int);
int (*connect)(struct sock *, struct sockaddr *, int);
int (*disconnect)(struct sock *, int);
struct sock * (*accept)(struct sock *, int, int *, bool);
int (*ioctl)(struct sock *, int, long unsigned int);
int (*init)(struct sock *);
void (*destroy)(struct sock *);
void (*shutdown)(struct sock *, int);
int (*setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*getsockopt)(struct sock *, int, int, char *, int *);
void (*keepalive)(struct sock *, int);
int (*sendmsg)(struct sock *, struct msghdr *, size_t);
int (*recvmsg)(struct sock *, struct msghdr *, size_t, int, int, int *);
int (*sendpage)(struct sock *, struct page *, int, size_t, int);
int (*bind)(struct sock *, struct sockaddr *, int);
int (*backlog_rcv)(struct sock *, struct sk_buff *);
void (*release_cb)(struct sock *);
int (*hash)(struct sock *);
void (*unhash)(struct sock *);
void (*rehash)(struct sock *);
int (*get_port)(struct sock *, short unsigned int);
unsigned int inuse_idx;
bool (*stream_memory_free)(const struct sock *, int);
bool (*stream_memory_read)(const struct sock *);
void (*enter_memory_pressure)(struct sock *);
void (*leave_memory_pressure)(struct sock *);
atomic_long_t *memory_allocated;
struct percpu_counter *sockets_allocated;
long unsigned int *memory_pressure;
long int *sysctl_mem;
int *sysctl_wmem;
int *sysctl_rmem;
u32 sysctl_wmem_offset;
u32 sysctl_rmem_offset;
int max_header;
bool no_autobind;
struct kmem_cache *slab;
unsigned int obj_size;
slab_flags_t slab_flags;
unsigned int useroffset;
unsigned int usersize;
struct percpu_counter *orphan_count;
struct request_sock_ops *rsk_prot;
struct timewait_sock_ops *twsk_prot;
union (anon) h;
struct module *owner;
char name[32];
struct list_head node;
int (*diag_destroy)(struct sock *, int);
};
aws
: ✅struct proto {
void (*close)(struct sock *, long int);
int (*pre_connect)(struct sock *, struct sockaddr *, int);
int (*connect)(struct sock *, struct sockaddr *, int);
int (*disconnect)(struct sock *, int);
struct sock * (*accept)(struct sock *, int, int *, bool);
int (*ioctl)(struct sock *, int, long unsigned int);
int (*init)(struct sock *);
void (*destroy)(struct sock *);
void (*shutdown)(struct sock *, int);
int (*setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*getsockopt)(struct sock *, int, int, char *, int *);
void (*keepalive)(struct sock *, int);
int (*compat_setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*compat_getsockopt)(struct sock *, int, int, char *, int *);
int (*compat_ioctl)(struct sock *, unsigned int, long unsigned int);
int (*sendmsg)(struct sock *, struct msghdr *, size_t);
int (*recvmsg)(struct sock *, struct msghdr *, size_t, int, int, int *);
int (*sendpage)(struct sock *, struct page *, int, size_t, int);
int (*bind)(struct sock *, struct sockaddr *, int);
int (*backlog_rcv)(struct sock *, struct sk_buff *);
void (*release_cb)(struct sock *);
int (*hash)(struct sock *);
void (*unhash)(struct sock *);
void (*rehash)(struct sock *);
int (*get_port)(struct sock *, short unsigned int);
unsigned int inuse_idx;
bool (*stream_memory_free)(const struct sock *, int);
bool (*stream_memory_read)(const struct sock *);
void (*enter_memory_pressure)(struct sock *);
void (*leave_memory_pressure)(struct sock *);
atomic_long_t *memory_allocated;
struct percpu_counter *sockets_allocated;
long unsigned int *memory_pressure;
long int *sysctl_mem;
int *sysctl_wmem;
int *sysctl_rmem;
u32 sysctl_wmem_offset;
u32 sysctl_rmem_offset;
int max_header;
bool no_autobind;
struct kmem_cache *slab;
unsigned int obj_size;
slab_flags_t slab_flags;
unsigned int useroffset;
unsigned int usersize;
struct percpu_counter *orphan_count;
struct request_sock_ops *rsk_prot;
struct timewait_sock_ops *twsk_prot;
union (anon) h;
struct module *owner;
char name[32];
struct list_head node;
int (*diag_destroy)(struct sock *, int);
};
azure
: ✅struct proto {
void (*close)(struct sock *, long int);
int (*pre_connect)(struct sock *, struct sockaddr *, int);
int (*connect)(struct sock *, struct sockaddr *, int);
int (*disconnect)(struct sock *, int);
struct sock * (*accept)(struct sock *, int, int *, bool);
int (*ioctl)(struct sock *, int, long unsigned int);
int (*init)(struct sock *);
void (*destroy)(struct sock *);
void (*shutdown)(struct sock *, int);
int (*setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*getsockopt)(struct sock *, int, int, char *, int *);
void (*keepalive)(struct sock *, int);
int (*compat_setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*compat_getsockopt)(struct sock *, int, int, char *, int *);
int (*compat_ioctl)(struct sock *, unsigned int, long unsigned int);
int (*sendmsg)(struct sock *, struct msghdr *, size_t);
int (*recvmsg)(struct sock *, struct msghdr *, size_t, int, int, int *);
int (*sendpage)(struct sock *, struct page *, int, size_t, int);
int (*bind)(struct sock *, struct sockaddr *, int);
int (*backlog_rcv)(struct sock *, struct sk_buff *);
void (*release_cb)(struct sock *);
int (*hash)(struct sock *);
void (*unhash)(struct sock *);
void (*rehash)(struct sock *);
int (*get_port)(struct sock *, short unsigned int);
unsigned int inuse_idx;
bool (*stream_memory_free)(const struct sock *, int);
bool (*stream_memory_read)(const struct sock *);
void (*enter_memory_pressure)(struct sock *);
void (*leave_memory_pressure)(struct sock *);
atomic_long_t *memory_allocated;
struct percpu_counter *sockets_allocated;
long unsigned int *memory_pressure;
long int *sysctl_mem;
int *sysctl_wmem;
int *sysctl_rmem;
u32 sysctl_wmem_offset;
u32 sysctl_rmem_offset;
int max_header;
bool no_autobind;
struct kmem_cache *slab;
unsigned int obj_size;
slab_flags_t slab_flags;
unsigned int useroffset;
unsigned int usersize;
struct percpu_counter *orphan_count;
struct request_sock_ops *rsk_prot;
struct timewait_sock_ops *twsk_prot;
union (anon) h;
struct module *owner;
char name[32];
struct list_head node;
int (*diag_destroy)(struct sock *, int);
};
gcp
: ✅struct proto {
void (*close)(struct sock *, long int);
int (*pre_connect)(struct sock *, struct sockaddr *, int);
int (*connect)(struct sock *, struct sockaddr *, int);
int (*disconnect)(struct sock *, int);
struct sock * (*accept)(struct sock *, int, int *, bool);
int (*ioctl)(struct sock *, int, long unsigned int);
int (*init)(struct sock *);
void (*destroy)(struct sock *);
void (*shutdown)(struct sock *, int);
int (*setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*getsockopt)(struct sock *, int, int, char *, int *);
void (*keepalive)(struct sock *, int);
int (*compat_setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*compat_getsockopt)(struct sock *, int, int, char *, int *);
int (*compat_ioctl)(struct sock *, unsigned int, long unsigned int);
int (*sendmsg)(struct sock *, struct msghdr *, size_t);
int (*recvmsg)(struct sock *, struct msghdr *, size_t, int, int, int *);
int (*sendpage)(struct sock *, struct page *, int, size_t, int);
int (*bind)(struct sock *, struct sockaddr *, int);
int (*backlog_rcv)(struct sock *, struct sk_buff *);
void (*release_cb)(struct sock *);
int (*hash)(struct sock *);
void (*unhash)(struct sock *);
void (*rehash)(struct sock *);
int (*get_port)(struct sock *, short unsigned int);
unsigned int inuse_idx;
bool (*stream_memory_free)(const struct sock *, int);
bool (*stream_memory_read)(const struct sock *);
void (*enter_memory_pressure)(struct sock *);
void (*leave_memory_pressure)(struct sock *);
atomic_long_t *memory_allocated;
struct percpu_counter *sockets_allocated;
long unsigned int *memory_pressure;
long int *sysctl_mem;
int *sysctl_wmem;
int *sysctl_rmem;
u32 sysctl_wmem_offset;
u32 sysctl_rmem_offset;
int max_header;
bool no_autobind;
struct kmem_cache *slab;
unsigned int obj_size;
slab_flags_t slab_flags;
unsigned int useroffset;
unsigned int usersize;
struct percpu_counter *orphan_count;
struct request_sock_ops *rsk_prot;
struct timewait_sock_ops *twsk_prot;
union (anon) h;
struct module *owner;
char name[32];
struct list_head node;
int (*diag_destroy)(struct sock *, int);
};
lowlatency
: ✅struct proto {
void (*close)(struct sock *, long int);
int (*pre_connect)(struct sock *, struct sockaddr *, int);
int (*connect)(struct sock *, struct sockaddr *, int);
int (*disconnect)(struct sock *, int);
struct sock * (*accept)(struct sock *, int, int *, bool);
int (*ioctl)(struct sock *, int, long unsigned int);
int (*init)(struct sock *);
void (*destroy)(struct sock *);
void (*shutdown)(struct sock *, int);
int (*setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*getsockopt)(struct sock *, int, int, char *, int *);
void (*keepalive)(struct sock *, int);
int (*compat_setsockopt)(struct sock *, int, int, char *, unsigned int);
int (*compat_getsockopt)(struct sock *, int, int, char *, int *);
int (*compat_ioctl)(struct sock *, unsigned int, long unsigned int);
int (*sendmsg)(struct sock *, struct msghdr *, size_t);
int (*recvmsg)(struct sock *, struct msghdr *, size_t, int, int, int *);
int (*sendpage)(struct sock *, struct page *, int, size_t, int);
int (*bind)(struct sock *, struct sockaddr *, int);
int (*backlog_rcv)(struct sock *, struct sk_buff *);
void (*release_cb)(struct sock *);
int (*hash)(struct sock *);
void (*unhash)(struct sock *);
void (*rehash)(struct sock *);
int (*get_port)(struct sock *, short unsigned int);
unsigned int inuse_idx;
bool (*stream_memory_free)(const struct sock *, int);
bool (*stream_memory_read)(const struct sock *);
void (*enter_memory_pressure)(struct sock *);
void (*leave_memory_pressure)(struct sock *);
atomic_long_t *memory_allocated;
struct percpu_counter *sockets_allocated;
long unsigned int *memory_pressure;
long int *sysctl_mem;
int *sysctl_wmem;
int *sysctl_rmem;
u32 sysctl_wmem_offset;
u32 sysctl_rmem_offset;
int max_header;
bool no_autobind;
struct kmem_cache *slab;
unsigned int obj_size;
slab_flags_t slab_flags;
unsigned int useroffset;
unsigned int usersize;
struct percpu_counter *orphan_count;
struct request_sock_ops *rsk_prot;
struct timewait_sock_ops *twsk_prot;
union (anon) h;
struct module *owner;
char name[32];
struct list_head node;
int (*diag_destroy)(struct sock *, int);
};
Regular
4.4
and 4.8
⚠️int (*diag_destroy)(struct sock *, int)
int (*init_cgroup)(struct mem_cgroup *, struct cgroup_subsys *)
void (*destroy_cgroup)(struct mem_cgroup *)
struct cg_proto * (*proto_cgroup)(struct mem_cgroup *)
void (*hash)(struct sock *)
➡️ int (*hash)(struct sock *)
4.8
and 4.10
⚠️void (*clear_sk)(struct sock *, int)
4.10
and 4.13
⚠️void (*keepalive)(struct sock *, int)
void (*leave_memory_pressure)(struct sock *)
struct sock * (*accept)(struct sock *, int, int *)
➡️ struct sock * (*accept)(struct sock *, int, int *, bool)
int *memory_pressure
➡️ long unsigned int *memory_pressure
4.13
and 4.15
⚠️u32 sysctl_wmem_offset
u32 sysctl_rmem_offset
int slab_flags
➡️ slab_flags_t slab_flags
4.15
and 4.18
⚠️int (*pre_connect)(struct sock *, struct sockaddr *, int)
bool (*stream_memory_read)(const struct sock *)
unsigned int useroffset
unsigned int usersize
4.18
and 5.0
⚠️bool (*stream_memory_free)(const struct sock *)
➡️ bool (*stream_memory_free)(const struct sock *, int)
5.0
and 5.3
✅
5.3
and 5.4
✅
5.4
and 5.8
⚠️int (*bind_add)(struct sock *, struct sockaddr *, int)
5.8
and 5.11
⚠️int (*compat_setsockopt)(struct sock *, int, int, char *, unsigned int)
int (*compat_getsockopt)(struct sock *, int, int, char *, int *)
int (*setsockopt)(struct sock *, int, int, char *, unsigned int)
➡️ int (*setsockopt)(struct sock *, int, int, sockptr_t, unsigned int)
5.11
and 5.13
⚠️bool (*bpf_bypass_getsockopt)(int, int)
int (*psock_update_sk_prot)(struct sock *, struct sk_psock *, bool)
5.13
and 5.15
⚠️bool (*sock_is_readable)(struct sock *)
bool (*stream_memory_read)(const struct sock *)
struct percpu_counter *orphan_count
➡️ unsigned int *orphan_count
5.15
and 5.19
⚠️void (*put_port)(struct sock *)
int (*forward_alloc_get)(const struct sock *)
int (*recvmsg)(struct sock *, struct msghdr *, size_t, int, int, int *)
➡️ int (*recvmsg)(struct sock *, struct msghdr *, size_t, int, int *)
5.19
and 6.2
⚠️int *per_cpu_fw_alloc
6.2
and 6.5
⚠️void (*splice_eof)(struct socket *)
unsigned int ipv6_pinfo_offset
int (*sendpage)(struct sock *, struct page *, int, size_t, int)
int (*ioctl)(struct sock *, int, long unsigned int)
➡️ int (*ioctl)(struct sock *, int, int *)
6.5
and 6.8
✅
amd64
and arm64
✅
amd64
and armhf
⚠️int (*compat_setsockopt)(struct sock *, int, int, char *, unsigned int)
int (*compat_getsockopt)(struct sock *, int, int, char *, int *)
int (*compat_ioctl)(struct sock *, unsigned int, long unsigned int)
amd64
and ppc64el
✅
amd64
and riscv64
⚠️int (*compat_setsockopt)(struct sock *, int, int, char *, unsigned int)
int (*compat_getsockopt)(struct sock *, int, int, char *, int *)
int (*compat_ioctl)(struct sock *, unsigned int, long unsigned int)
generic
and aws
✅
generic
and azure
✅
generic
and gcp
✅
generic
and lowlatency
✅