Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions | Variables
sock.c File Reference
#include <linux/capability.h>
#include <linux/errno.h>
#include <linux/types.h>
#include <linux/socket.h>
#include <linux/in.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/proc_fs.h>
#include <linux/seq_file.h>
#include <linux/sched.h>
#include <linux/timer.h>
#include <linux/string.h>
#include <linux/sockios.h>
#include <linux/net.h>
#include <linux/mm.h>
#include <linux/slab.h>
#include <linux/interrupt.h>
#include <linux/poll.h>
#include <linux/tcp.h>
#include <linux/init.h>
#include <linux/highmem.h>
#include <linux/user_namespace.h>
#include <linux/static_key.h>
#include <linux/memcontrol.h>
#include <linux/prefetch.h>
#include <asm/uaccess.h>
#include <linux/netdevice.h>
#include <net/protocol.h>
#include <linux/skbuff.h>
#include <net/net_namespace.h>
#include <net/request_sock.h>
#include <net/sock.h>
#include <linux/net_tstamp.h>
#include <net/xfrm.h>
#include <linux/ipsec.h>
#include <net/cls_cgroup.h>
#include <net/netprio_cgroup.h>
#include <linux/filter.h>
#include <trace/events/sock.h>

Go to the source code of this file.

Macros

#define pr_fmt(fmt)   KBUILD_MODNAME ": " fmt
 
#define _SK_MEM_PACKETS   256
 
#define _SK_MEM_OVERHEAD   SKB_TRUESIZE(256)
 
#define SK_WMEM_MAX   (_SK_MEM_OVERHEAD * _SK_MEM_PACKETS)
 
#define SK_RMEM_MAX   (_SK_MEM_OVERHEAD * _SK_MEM_PACKETS)
 
#define SK_FLAGS_TIMESTAMP   ((1UL << SOCK_TIMESTAMP) | (1UL << SOCK_TIMESTAMPING_RX_SOFTWARE))
 
#define SKB_FRAG_PAGE_ORDER   get_order(32768)
 

Functions

 EXPORT_SYMBOL (memcg_socket_limit_enabled)
 
 EXPORT_SYMBOL (sysctl_wmem_max)
 
 EXPORT_SYMBOL (sysctl_rmem_max)
 
 EXPORT_SYMBOL (sysctl_optmem_max)
 
 EXPORT_SYMBOL_GPL (memalloc_socks)
 
void sk_set_memalloc (struct sock *sk)
 
 EXPORT_SYMBOL_GPL (sk_set_memalloc)
 
void sk_clear_memalloc (struct sock *sk)
 
 EXPORT_SYMBOL_GPL (sk_clear_memalloc)
 
int __sk_backlog_rcv (struct sock *sk, struct sk_buff *skb)
 
 EXPORT_SYMBOL (__sk_backlog_rcv)
 
int sock_queue_rcv_skb (struct sock *sk, struct sk_buff *skb)
 
 EXPORT_SYMBOL (sock_queue_rcv_skb)
 
int sk_receive_skb (struct sock *sk, struct sk_buff *skb, const int nested)
 
 EXPORT_SYMBOL (sk_receive_skb)
 
void sk_reset_txq (struct sock *sk)
 
 EXPORT_SYMBOL (sk_reset_txq)
 
struct dst_entry__sk_dst_check (struct sock *sk, u32 cookie)
 
 EXPORT_SYMBOL (__sk_dst_check)
 
struct dst_entrysk_dst_check (struct sock *sk, u32 cookie)
 
 EXPORT_SYMBOL (sk_dst_check)
 
int sock_setsockopt (struct socket *sock, int level, int optname, char __user *optval, unsigned int optlen)
 
 EXPORT_SYMBOL (sock_setsockopt)
 
void cred_to_ucred (struct pid *pid, const struct cred *cred, struct ucred *ucred)
 
 EXPORT_SYMBOL_GPL (cred_to_ucred)
 
int sock_getsockopt (struct socket *sock, int level, int optname, char __user *optval, int __user *optlen)
 
void sk_prot_clear_portaddr_nulls (struct sock *sk, int size)
 
 EXPORT_SYMBOL (sk_prot_clear_portaddr_nulls)
 
struct socksk_alloc (struct net *net, int family, gfp_t priority, struct proto *prot)
 
 EXPORT_SYMBOL (sk_alloc)
 
void sk_free (struct sock *sk)
 
 EXPORT_SYMBOL (sk_free)
 
void sk_release_kernel (struct sock *sk)
 
 EXPORT_SYMBOL (sk_release_kernel)
 
struct socksk_clone_lock (const struct sock *sk, const gfp_t priority)
 
 EXPORT_SYMBOL_GPL (sk_clone_lock)
 
void sk_setup_caps (struct sock *sk, struct dst_entry *dst)
 
 EXPORT_SYMBOL_GPL (sk_setup_caps)
 
void sock_wfree (struct sk_buff *skb)
 
 EXPORT_SYMBOL (sock_wfree)
 
void sock_rfree (struct sk_buff *skb)
 
 EXPORT_SYMBOL (sock_rfree)
 
void sock_edemux (struct sk_buff *skb)
 
 EXPORT_SYMBOL (sock_edemux)
 
kuid_t sock_i_uid (struct sock *sk)
 
 EXPORT_SYMBOL (sock_i_uid)
 
unsigned long sock_i_ino (struct sock *sk)
 
 EXPORT_SYMBOL (sock_i_ino)
 
struct sk_buffsock_wmalloc (struct sock *sk, unsigned long size, int force, gfp_t priority)
 
 EXPORT_SYMBOL (sock_wmalloc)
 
struct sk_buffsock_rmalloc (struct sock *sk, unsigned long size, int force, gfp_t priority)
 
voidsock_kmalloc (struct sock *sk, int size, gfp_t priority)
 
 EXPORT_SYMBOL (sock_kmalloc)
 
void sock_kfree_s (struct sock *sk, void *mem, int size)
 
 EXPORT_SYMBOL (sock_kfree_s)
 
struct sk_buffsock_alloc_send_pskb (struct sock *sk, unsigned long header_len, unsigned long data_len, int noblock, int *errcode)
 
 EXPORT_SYMBOL (sock_alloc_send_pskb)
 
struct sk_buffsock_alloc_send_skb (struct sock *sk, unsigned long size, int noblock, int *errcode)
 
 EXPORT_SYMBOL (sock_alloc_send_skb)
 
bool sk_page_frag_refill (struct sock *sk, struct page_frag *pfrag)
 
 EXPORT_SYMBOL (sk_page_frag_refill)
 
int sk_wait_data (struct sock *sk, long *timeo)
 
 EXPORT_SYMBOL (sk_wait_data)
 
int __sk_mem_schedule (struct sock *sk, int size, int kind)
 
 EXPORT_SYMBOL (__sk_mem_schedule)
 
void __sk_mem_reclaim (struct sock *sk)
 
 EXPORT_SYMBOL (__sk_mem_reclaim)
 
int sock_no_bind (struct socket *sock, struct sockaddr *saddr, int len)
 
 EXPORT_SYMBOL (sock_no_bind)
 
int sock_no_connect (struct socket *sock, struct sockaddr *saddr, int len, int flags)
 
 EXPORT_SYMBOL (sock_no_connect)
 
int sock_no_socketpair (struct socket *sock1, struct socket *sock2)
 
 EXPORT_SYMBOL (sock_no_socketpair)
 
int sock_no_accept (struct socket *sock, struct socket *newsock, int flags)
 
 EXPORT_SYMBOL (sock_no_accept)
 
int sock_no_getname (struct socket *sock, struct sockaddr *saddr, int *len, int peer)
 
 EXPORT_SYMBOL (sock_no_getname)
 
unsigned int sock_no_poll (struct file *file, struct socket *sock, poll_table *pt)
 
 EXPORT_SYMBOL (sock_no_poll)
 
int sock_no_ioctl (struct socket *sock, unsigned int cmd, unsigned long arg)
 
 EXPORT_SYMBOL (sock_no_ioctl)
 
int sock_no_listen (struct socket *sock, int backlog)
 
 EXPORT_SYMBOL (sock_no_listen)
 
int sock_no_shutdown (struct socket *sock, int how)
 
 EXPORT_SYMBOL (sock_no_shutdown)
 
int sock_no_setsockopt (struct socket *sock, int level, int optname, char __user *optval, unsigned int optlen)
 
 EXPORT_SYMBOL (sock_no_setsockopt)
 
int sock_no_getsockopt (struct socket *sock, int level, int optname, char __user *optval, int __user *optlen)
 
 EXPORT_SYMBOL (sock_no_getsockopt)
 
int sock_no_sendmsg (struct kiocb *iocb, struct socket *sock, struct msghdr *m, size_t len)
 
 EXPORT_SYMBOL (sock_no_sendmsg)
 
int sock_no_recvmsg (struct kiocb *iocb, struct socket *sock, struct msghdr *m, size_t len, int flags)
 
 EXPORT_SYMBOL (sock_no_recvmsg)
 
int sock_no_mmap (struct file *file, struct socket *sock, struct vm_area_struct *vma)
 
 EXPORT_SYMBOL (sock_no_mmap)
 
ssize_t sock_no_sendpage (struct socket *sock, struct page *page, int offset, size_t size, int flags)
 
 EXPORT_SYMBOL (sock_no_sendpage)
 
void sk_send_sigurg (struct sock *sk)
 
 EXPORT_SYMBOL (sk_send_sigurg)
 
void sk_reset_timer (struct sock *sk, struct timer_list *timer, unsigned long expires)
 
 EXPORT_SYMBOL (sk_reset_timer)
 
void sk_stop_timer (struct sock *sk, struct timer_list *timer)
 
 EXPORT_SYMBOL (sk_stop_timer)
 
void sock_init_data (struct socket *sock, struct sock *sk)
 
 EXPORT_SYMBOL (sock_init_data)
 
void lock_sock_nested (struct sock *sk, int subclass)
 
 EXPORT_SYMBOL (lock_sock_nested)
 
void release_sock (struct sock *sk)
 
 EXPORT_SYMBOL (release_sock)
 
bool lock_sock_fast (struct sock *sk)
 
 EXPORT_SYMBOL (lock_sock_fast)
 
int sock_get_timestamp (struct sock *sk, struct timeval __user *userstamp)
 
 EXPORT_SYMBOL (sock_get_timestamp)
 
int sock_get_timestampns (struct sock *sk, struct timespec __user *userstamp)
 
 EXPORT_SYMBOL (sock_get_timestampns)
 
void sock_enable_timestamp (struct sock *sk, int flag)
 
int sock_common_getsockopt (struct socket *sock, int level, int optname, char __user *optval, int __user *optlen)
 
 EXPORT_SYMBOL (sock_common_getsockopt)
 
int sock_common_recvmsg (struct kiocb *iocb, struct socket *sock, struct msghdr *msg, size_t size, int flags)
 
 EXPORT_SYMBOL (sock_common_recvmsg)
 
int sock_common_setsockopt (struct socket *sock, int level, int optname, char __user *optval, unsigned int optlen)
 
 EXPORT_SYMBOL (sock_common_setsockopt)
 
void sk_common_release (struct sock *sk)
 
 EXPORT_SYMBOL (sk_common_release)
 
int proto_register (struct proto *prot, int alloc_slab)
 
 EXPORT_SYMBOL (proto_register)
 
void proto_unregister (struct proto *prot)
 
 EXPORT_SYMBOL (proto_unregister)
 

Variables

struct static_key memcg_socket_limit_enabled
 
__u32 sysctl_wmem_max __read_mostly = SK_WMEM_MAX
 
struct static_key memalloc_socks = STATIC_KEY_INIT_FALSE
 

Macro Definition Documentation

#define _SK_MEM_OVERHEAD   SKB_TRUESIZE(256)

Definition at line 258 of file sock.c.

#define _SK_MEM_PACKETS   256

Definition at line 257 of file sock.c.

#define pr_fmt (   fmt)    KBUILD_MODNAME ": " fmt

Definition at line 92 of file sock.c.

#define SK_FLAGS_TIMESTAMP   ((1UL << SOCK_TIMESTAMP) | (1UL << SOCK_TIMESTAMPING_RX_SOFTWARE))

Definition at line 371 of file sock.c.

#define SK_RMEM_MAX   (_SK_MEM_OVERHEAD * _SK_MEM_PACKETS)

Definition at line 260 of file sock.c.

#define SK_WMEM_MAX   (_SK_MEM_OVERHEAD * _SK_MEM_PACKETS)

Definition at line 259 of file sock.c.

#define SKB_FRAG_PAGE_ORDER   get_order(32768)

Definition at line 1729 of file sock.c.

Function Documentation

int __sk_backlog_rcv ( struct sock sk,
struct sk_buff skb 
)

Definition at line 313 of file sock.c.

struct dst_entry* __sk_dst_check ( struct sock sk,
u32  cookie 
)
read

Definition at line 479 of file sock.c.

void __sk_mem_reclaim ( struct sock sk)

__sk_reclaim - reclaim memory_allocated : socket

Definition at line 1940 of file sock.c.

int __sk_mem_schedule ( struct sock sk,
int  size,
int  kind 
)

__sk_mem_schedule - increase sk_forward_alloc and memory_allocated : socket : memory size to allocate : allocation type

If kind is SK_MEM_SEND, it means wmem allocation. Otherwise it means rmem allocation. This function assumes that protocols which have memory_pressure use sk_wmem_queued as write buffer accounting.

Definition at line 1858 of file sock.c.

void cred_to_ucred ( struct pid pid,
const struct cred cred,
struct ucred ucred 
)

Definition at line 853 of file sock.c.

EXPORT_SYMBOL ( memcg_socket_limit_enabled  )
EXPORT_SYMBOL ( sysctl_wmem_max  )
EXPORT_SYMBOL ( sysctl_rmem_max  )
EXPORT_SYMBOL ( sysctl_optmem_max  )
EXPORT_SYMBOL ( __sk_backlog_rcv  )
EXPORT_SYMBOL ( sock_queue_rcv_skb  )
EXPORT_SYMBOL ( sk_receive_skb  )
EXPORT_SYMBOL ( sk_reset_txq  )
EXPORT_SYMBOL ( __sk_dst_check  )
EXPORT_SYMBOL ( sk_dst_check  )
EXPORT_SYMBOL ( sock_setsockopt  )
EXPORT_SYMBOL ( sk_prot_clear_portaddr_nulls  )
EXPORT_SYMBOL ( sk_alloc  )
EXPORT_SYMBOL ( sk_free  )
EXPORT_SYMBOL ( sk_release_kernel  )
EXPORT_SYMBOL ( sock_wfree  )
EXPORT_SYMBOL ( sock_rfree  )
EXPORT_SYMBOL ( sock_edemux  )
EXPORT_SYMBOL ( sock_i_uid  )
EXPORT_SYMBOL ( sock_i_ino  )
EXPORT_SYMBOL ( sock_wmalloc  )
EXPORT_SYMBOL ( sock_kmalloc  )
EXPORT_SYMBOL ( sock_kfree_s  )
EXPORT_SYMBOL ( sock_alloc_send_pskb  )
EXPORT_SYMBOL ( sock_alloc_send_skb  )
EXPORT_SYMBOL ( sk_page_frag_refill  )
EXPORT_SYMBOL ( sk_wait_data  )
EXPORT_SYMBOL ( __sk_mem_schedule  )
EXPORT_SYMBOL ( __sk_mem_reclaim  )
EXPORT_SYMBOL ( sock_no_bind  )
EXPORT_SYMBOL ( sock_no_connect  )
EXPORT_SYMBOL ( sock_no_socketpair  )
EXPORT_SYMBOL ( sock_no_accept  )
EXPORT_SYMBOL ( sock_no_getname  )
EXPORT_SYMBOL ( sock_no_poll  )
EXPORT_SYMBOL ( sock_no_ioctl  )
EXPORT_SYMBOL ( sock_no_listen  )
EXPORT_SYMBOL ( sock_no_shutdown  )
EXPORT_SYMBOL ( sock_no_setsockopt  )
EXPORT_SYMBOL ( sock_no_getsockopt  )
EXPORT_SYMBOL ( sock_no_sendmsg  )
EXPORT_SYMBOL ( sock_no_recvmsg  )
EXPORT_SYMBOL ( sock_no_mmap  )
EXPORT_SYMBOL ( sock_no_sendpage  )
EXPORT_SYMBOL ( sk_send_sigurg  )
EXPORT_SYMBOL ( sk_reset_timer  )
EXPORT_SYMBOL ( sk_stop_timer  )
EXPORT_SYMBOL ( sock_init_data  )
EXPORT_SYMBOL ( lock_sock_nested  )
EXPORT_SYMBOL ( release_sock  )
EXPORT_SYMBOL ( lock_sock_fast  )
EXPORT_SYMBOL ( sock_get_timestamp  )
EXPORT_SYMBOL ( sock_get_timestampns  )
EXPORT_SYMBOL ( sock_common_getsockopt  )
EXPORT_SYMBOL ( sock_common_recvmsg  )
EXPORT_SYMBOL ( sock_common_setsockopt  )
EXPORT_SYMBOL ( sk_common_release  )
EXPORT_SYMBOL ( proto_register  )
EXPORT_SYMBOL ( proto_unregister  )
EXPORT_SYMBOL_GPL ( memalloc_socks  )
EXPORT_SYMBOL_GPL ( sk_set_memalloc  )
EXPORT_SYMBOL_GPL ( sk_clear_memalloc  )
EXPORT_SYMBOL_GPL ( cred_to_ucred  )
EXPORT_SYMBOL_GPL ( sk_clone_lock  )
EXPORT_SYMBOL_GPL ( sk_setup_caps  )
bool lock_sock_fast ( struct sock sk)

lock_sock_fast - fast version of lock_sock : socket

This version should be used for very small section, where process wont block return false if fast path is taken sk_lock.slock locked, owned = 0, BH disabled return true if slow path is taken sk_lock.slock unlocked, owned = 1, BH enabled

Definition at line 2266 of file sock.c.

void lock_sock_nested ( struct sock sk,
int  subclass 
)

Definition at line 2219 of file sock.c.

int proto_register ( struct proto prot,
int  alloc_slab 
)

Definition at line 2551 of file sock.c.

void proto_unregister ( struct proto prot)

Definition at line 2622 of file sock.c.

void release_sock ( struct sock sk)

Definition at line 2235 of file sock.c.

struct sock* sk_alloc ( struct net net,
int  family,
gfp_t  priority,
struct proto prot 
)
read

sk_alloc - All socket objects are allocated here : the applicable net namespace : protocol family : for allocation (GFP_KERNEL, GFP_ATOMIC, etc) : struct proto associated with this new sock instance

Definition at line 1249 of file sock.c.

void sk_clear_memalloc ( struct sock sk)

Definition at line 293 of file sock.c.

struct sock* sk_clone_lock ( const struct sock sk,
const gfp_t  priority 
)
read

sk_clone_lock - clone a socket, and lock its clone : the socket to clone : for allocation (GFP_KERNEL, GFP_ATOMIC, etc)

Caller must unlock socket even in error path (bh_unlock_sock(newsk))

Definition at line 1346 of file sock.c.

void sk_common_release ( struct sock sk)

Definition at line 2408 of file sock.c.

struct dst_entry* sk_dst_check ( struct sock sk,
u32  cookie 
)
read

Definition at line 494 of file sock.c.

void sk_free ( struct sock sk)

Definition at line 1301 of file sock.c.

bool sk_page_frag_refill ( struct sock sk,
struct page_frag pfrag 
)

Definition at line 1731 of file sock.c.

void sk_prot_clear_portaddr_nulls ( struct sock sk,
int  size 
)

Definition at line 1138 of file sock.c.

int sk_receive_skb ( struct sock sk,
struct sk_buff skb,
const int  nested 
)

Definition at line 431 of file sock.c.

void sk_release_kernel ( struct sock sk)

Definition at line 1320 of file sock.c.

void sk_reset_timer ( struct sock sk,
struct timer_list timer,
unsigned long  expires 
)

Definition at line 2141 of file sock.c.

void sk_reset_txq ( struct sock sk)

Definition at line 473 of file sock.c.

void sk_send_sigurg ( struct sock sk)

Definition at line 2133 of file sock.c.

void sk_set_memalloc ( struct sock sk)

sk_set_memalloc - sets SOCK_MEMALLOC : socket to set it on

Set SOCK_MEMALLOC on a socket for access to emergency reserves. It's the responsibility of the admin to adjust min_free_kbytes to meet the requirements

Definition at line 285 of file sock.c.

void sk_setup_caps ( struct sock sk,
struct dst_entry dst 
)

Definition at line 1442 of file sock.c.

void sk_stop_timer ( struct sock sk,
struct timer_list timer 
)

Definition at line 2149 of file sock.c.

int sk_wait_data ( struct sock sk,
long timeo 
)

sk_wait_data - wait for data to arrive at sk_receive_queue : sock to wait on : for how long

Now socket state including sk->sk_err is changed only under lock, hence we may omit checks after joining wait queue. We check receive queue before schedule() only as optimization; it is very likely that release_sock() added new data.

Definition at line 1834 of file sock.c.

struct sk_buff* sock_alloc_send_pskb ( struct sock sk,
unsigned long  header_len,
unsigned long  data_len,
int  noblock,
int errcode 
)
read

Definition at line 1636 of file sock.c.

struct sk_buff* sock_alloc_send_skb ( struct sock sk,
unsigned long  size,
int  noblock,
int errcode 
)
read

Definition at line 1721 of file sock.c.

int sock_common_getsockopt ( struct socket sock,
int  level,
int  optname,
char __user optval,
int __user optlen 
)

Definition at line 2344 of file sock.c.

int sock_common_recvmsg ( struct kiocb iocb,
struct socket sock,
struct msghdr msg,
size_t  size,
int  flags 
)

Definition at line 2367 of file sock.c.

int sock_common_setsockopt ( struct socket sock,
int  level,
int  optname,
char __user optval,
unsigned int  optlen 
)

Definition at line 2385 of file sock.c.

void sock_edemux ( struct sk_buff skb)

Definition at line 1505 of file sock.c.

void sock_enable_timestamp ( struct sock sk,
int  flag 
)

Definition at line 2321 of file sock.c.

int sock_get_timestamp ( struct sock sk,
struct timeval __user userstamp 
)

Definition at line 2289 of file sock.c.

int sock_get_timestampns ( struct sock sk,
struct timespec __user userstamp 
)

Definition at line 2305 of file sock.c.

int sock_getsockopt ( struct socket sock,
int  level,
int  optname,
char __user optval,
int __user optlen 
)

Definition at line 867 of file sock.c.

unsigned long sock_i_ino ( struct sock sk)

Definition at line 1529 of file sock.c.

kuid_t sock_i_uid ( struct sock sk)

Definition at line 1518 of file sock.c.

void sock_init_data ( struct socket sock,
struct sock sk 
)

Definition at line 2156 of file sock.c.

void sock_kfree_s ( struct sock sk,
void mem,
int  size 
)

Definition at line 1597 of file sock.c.

void* sock_kmalloc ( struct sock sk,
int  size,
gfp_t  priority 
)

Definition at line 1576 of file sock.c.

int sock_no_accept ( struct socket sock,
struct socket newsock,
int  flags 
)

Definition at line 1979 of file sock.c.

int sock_no_bind ( struct socket sock,
struct sockaddr saddr,
int  len 
)

Definition at line 1960 of file sock.c.

int sock_no_connect ( struct socket sock,
struct sockaddr saddr,
int  len,
int  flags 
)

Definition at line 1966 of file sock.c.

int sock_no_getname ( struct socket sock,
struct sockaddr saddr,
int len,
int  peer 
)

Definition at line 1985 of file sock.c.

int sock_no_getsockopt ( struct socket sock,
int  level,
int  optname,
char __user optval,
int __user optlen 
)

Definition at line 2023 of file sock.c.

int sock_no_ioctl ( struct socket sock,
unsigned int  cmd,
unsigned long  arg 
)

Definition at line 1998 of file sock.c.

int sock_no_listen ( struct socket sock,
int  backlog 
)

Definition at line 2004 of file sock.c.

int sock_no_mmap ( struct file file,
struct socket sock,
struct vm_area_struct vma 
)

Definition at line 2044 of file sock.c.

unsigned int sock_no_poll ( struct file file,
struct socket sock,
poll_table pt 
)

Definition at line 1992 of file sock.c.

int sock_no_recvmsg ( struct kiocb iocb,
struct socket sock,
struct msghdr m,
size_t  len,
int  flags 
)

Definition at line 2037 of file sock.c.

int sock_no_sendmsg ( struct kiocb iocb,
struct socket sock,
struct msghdr m,
size_t  len 
)

Definition at line 2030 of file sock.c.

ssize_t sock_no_sendpage ( struct socket sock,
struct page page,
int  offset,
size_t  size,
int  flags 
)

Definition at line 2051 of file sock.c.

int sock_no_setsockopt ( struct socket sock,
int  level,
int  optname,
char __user optval,
unsigned int  optlen 
)

Definition at line 2016 of file sock.c.

int sock_no_shutdown ( struct socket sock,
int  how 
)

Definition at line 2010 of file sock.c.

int sock_no_socketpair ( struct socket sock1,
struct socket sock2 
)

Definition at line 1973 of file sock.c.

int sock_queue_rcv_skb ( struct sock sk,
struct sk_buff skb 
)

Definition at line 383 of file sock.c.

void sock_rfree ( struct sk_buff skb)

Definition at line 1495 of file sock.c.

struct sk_buff* sock_rmalloc ( struct sock sk,
unsigned long  size,
int  force,
gfp_t  priority 
)
read

Definition at line 1560 of file sock.c.

int sock_setsockopt ( struct socket sock,
int  level,
int  optname,
char __user optval,
unsigned int  optlen 
)

Definition at line 578 of file sock.c.

void sock_wfree ( struct sk_buff skb)

Definition at line 1469 of file sock.c.

struct sk_buff* sock_wmalloc ( struct sock sk,
unsigned long  size,
int  force,
gfp_t  priority 
)
read

Definition at line 1543 of file sock.c.

Variable Documentation

Definition at line 263 of file sock.c.

Definition at line 274 of file sock.c.

struct static_key memcg_socket_limit_enabled

Definition at line 189 of file sock.c.