Lines Matching refs:sock

87 static inline int netlink_is_kernel(struct sock *sk)  in netlink_is_kernel()
97 static int netlink_dump(struct sock *sk);
197 struct sock *sk = skb->sk; in netlink_filter_tap()
221 struct sock *sk = skb->sk; in __netlink_deliver_tap_skb()
270 static void netlink_deliver_tap_kernel(struct sock *dst, struct sock *src, in netlink_deliver_tap_kernel()
277 static void netlink_overrun(struct sock *sk) in netlink_overrun()
290 static void netlink_rcv_wake(struct sock *sk) in netlink_rcv_wake()
301 static bool netlink_rx_is_mmaped(struct sock *sk) in netlink_rx_is_mmaped()
306 static bool netlink_tx_is_mmaped(struct sock *sk) in netlink_tx_is_mmaped()
377 __netlink_set_ring(struct sock *sk, struct nl_mmap_req *req, bool tx_ring, void **pg_vec, in __netlink_set_ring()
407 static int netlink_set_ring(struct sock *sk, struct nl_mmap_req *req, in netlink_set_ring()
470 struct socket *sock = file->private_data; in netlink_mm_open() local
471 struct sock *sk = sock->sk; in netlink_mm_open()
480 struct socket *sock = file->private_data; in netlink_mm_close() local
481 struct sock *sk = sock->sk; in netlink_mm_close()
492 static int netlink_mmap(struct file *file, struct socket *sock, in netlink_mmap() argument
495 struct sock *sk = sock->sk; in netlink_mmap()
660 static unsigned int netlink_poll(struct file *file, struct socket *sock, in netlink_poll() argument
663 struct sock *sk = sock->sk; in netlink_poll()
684 mask = datagram_poll(file, sock, wait); in netlink_poll()
709 static void netlink_ring_setup_skb(struct sk_buff *skb, struct sock *sk, in netlink_ring_setup_skb()
730 static int netlink_mmap_sendmsg(struct sock *sk, struct msghdr *msg, in netlink_mmap_sendmsg()
808 static void netlink_queue_mmaped_skb(struct sock *sk, struct sk_buff *skb) in netlink_queue_mmaped_skb()
825 static void netlink_ring_set_copied(struct sock *sk, struct sk_buff *skb) in netlink_ring_set_copied()
864 struct sock *sk; in netlink_skb_destructor()
904 static void netlink_skb_set_owner_r(struct sk_buff *skb, struct sock *sk) in netlink_skb_set_owner_r()
913 static void netlink_sock_destruct(struct sock *sk) in netlink_sock_destruct()
1032 static struct sock *__netlink_lookup(struct netlink_table *table, u32 portid, in __netlink_lookup()
1042 static int __netlink_insert(struct netlink_table *table, struct sock *sk) in __netlink_insert()
1052 static struct sock *netlink_lookup(struct net *net, int protocol, u32 portid) in netlink_lookup()
1055 struct sock *sk; in netlink_lookup()
1069 netlink_update_listeners(struct sock *sk) in netlink_update_listeners()
1092 static int netlink_insert(struct sock *sk, u32 portid) in netlink_insert()
1133 static void netlink_remove(struct sock *sk) in netlink_remove()
1160 static int __netlink_create(struct net *net, struct socket *sock, in __netlink_create() argument
1163 struct sock *sk; in __netlink_create()
1166 sock->ops = &netlink_ops; in __netlink_create()
1172 sock_init_data(sock, sk); in __netlink_create()
1191 static int netlink_create(struct net *net, struct socket *sock, int protocol, in netlink_create() argument
1201 sock->state = SS_UNCONNECTED; in netlink_create()
1203 if (sock->type != SOCK_RAW && sock->type != SOCK_DGRAM) in netlink_create()
1230 err = __netlink_create(net, sock, cb_mutex, protocol); in netlink_create()
1238 nlk = nlk_sk(sock->sk); in netlink_create()
1257 static int netlink_release(struct socket *sock) in netlink_release() argument
1259 struct sock *sk = sock->sk; in netlink_release()
1288 sock->sk = NULL; in netlink_release()
1333 static int netlink_autobind(struct socket *sock) in netlink_autobind() argument
1335 struct sock *sk = sock->sk; in netlink_autobind()
1433 static inline int netlink_allowed(const struct socket *sock, unsigned int flag) in netlink_allowed() argument
1435 return (nl_table[sock->sk->sk_protocol].flags & flag) || in netlink_allowed()
1436 ns_capable(sock_net(sock->sk)->user_ns, CAP_NET_ADMIN); in netlink_allowed()
1440 netlink_update_subscriptions(struct sock *sk, unsigned int subscriptions) in netlink_update_subscriptions()
1451 static int netlink_realloc_groups(struct sock *sk) in netlink_realloc_groups()
1485 struct sock *sk) in netlink_undo_bind()
1498 static int netlink_bind(struct socket *sock, struct sockaddr *addr, in netlink_bind() argument
1501 struct sock *sk = sock->sk; in netlink_bind()
1517 if (!netlink_allowed(sock, NL_CFG_F_NONROOT_RECV)) in netlink_bind()
1553 netlink_autobind(sock); in netlink_bind()
1574 static int netlink_connect(struct socket *sock, struct sockaddr *addr, in netlink_connect() argument
1578 struct sock *sk = sock->sk; in netlink_connect()
1595 !netlink_allowed(sock, NL_CFG_F_NONROOT_SEND)) in netlink_connect()
1602 err = netlink_autobind(sock); in netlink_connect()
1613 static int netlink_getname(struct socket *sock, struct sockaddr *addr, in netlink_getname() argument
1616 struct sock *sk = sock->sk; in netlink_getname()
1634 static struct sock *netlink_getsockbyportid(struct sock *ssk, u32 portid) in netlink_getsockbyportid()
1636 struct sock *sock; in netlink_getsockbyportid() local
1639 sock = netlink_lookup(sock_net(ssk), ssk->sk_protocol, portid); in netlink_getsockbyportid()
1640 if (!sock) in netlink_getsockbyportid()
1644 nlk = nlk_sk(sock); in netlink_getsockbyportid()
1645 if (sock->sk_state == NETLINK_CONNECTED && in netlink_getsockbyportid()
1647 sock_put(sock); in netlink_getsockbyportid()
1650 return sock; in netlink_getsockbyportid()
1653 struct sock *netlink_getsockbyfilp(struct file *filp) in netlink_getsockbyfilp()
1656 struct sock *sock; in netlink_getsockbyfilp() local
1661 sock = SOCKET_I(inode)->sk; in netlink_getsockbyfilp()
1662 if (sock->sk_family != AF_NETLINK) in netlink_getsockbyfilp()
1665 sock_hold(sock); in netlink_getsockbyfilp()
1666 return sock; in netlink_getsockbyfilp()
1704 int netlink_attachskb(struct sock *sk, struct sk_buff *skb, in netlink_attachskb()
1705 long *timeo, struct sock *ssk) in netlink_attachskb()
1745 static int __netlink_sendskb(struct sock *sk, struct sk_buff *skb) in __netlink_sendskb()
1763 int netlink_sendskb(struct sock *sk, struct sk_buff *skb) in netlink_sendskb()
1771 void netlink_detachskb(struct sock *sk, struct sk_buff *skb) in netlink_detachskb()
1803 static int netlink_unicast_kernel(struct sock *sk, struct sk_buff *skb, in netlink_unicast_kernel()
1804 struct sock *ssk) in netlink_unicast_kernel()
1824 int netlink_unicast(struct sock *ssk, struct sk_buff *skb, in netlink_unicast()
1827 struct sock *sk; in netlink_unicast()
1860 struct sk_buff *netlink_alloc_skb(struct sock *ssk, unsigned int size, in netlink_alloc_skb()
1864 struct sock *sk = NULL; in netlink_alloc_skb()
1927 int netlink_has_listeners(struct sock *sk, unsigned int group) in netlink_has_listeners()
1946 static int netlink_broadcast_deliver(struct sock *sk, struct sk_buff *skb) in netlink_broadcast_deliver()
1960 struct sock *exclude_sk;
1970 int (*tx_filter)(struct sock *dsk, struct sk_buff *skb, void *data);
1974 static void do_one_broadcast(struct sock *sk, in do_one_broadcast()
2032 int netlink_broadcast_filtered(struct sock *ssk, struct sk_buff *skb, u32 portid, in netlink_broadcast_filtered()
2034 int (*filter)(struct sock *dsk, struct sk_buff *skb, void *data), in netlink_broadcast_filtered()
2039 struct sock *sk; in netlink_broadcast_filtered()
2083 int netlink_broadcast(struct sock *ssk, struct sk_buff *skb, u32 portid, in netlink_broadcast()
2092 struct sock *exclude_sk;
2098 static int do_one_set_err(struct sock *sk, struct netlink_set_err_data *p) in do_one_set_err()
2134 int netlink_set_err(struct sock *ssk, u32 portid, u32 group, int code) in netlink_set_err()
2137 struct sock *sk; in netlink_set_err()
2173 static int netlink_setsockopt(struct socket *sock, int level, int optname, in netlink_setsockopt() argument
2176 struct sock *sk = sock->sk; in netlink_setsockopt()
2199 if (!netlink_allowed(sock, NL_CFG_F_NONROOT_RECV)) in netlink_setsockopt()
2263 static int netlink_getsockopt(struct socket *sock, int level, int optname, in netlink_getsockopt() argument
2266 struct sock *sk = sock->sk; in netlink_getsockopt()
2323 static int netlink_sendmsg(struct socket *sock, struct msghdr *msg, size_t len) in netlink_sendmsg() argument
2325 struct sock *sk = sock->sk; in netlink_sendmsg()
2338 err = scm_send(sock, msg, &scm, true); in netlink_sendmsg()
2350 !netlink_allowed(sock, NL_CFG_F_NONROOT_SEND)) in netlink_sendmsg()
2359 err = netlink_autobind(sock); in netlink_sendmsg()
2415 static int netlink_recvmsg(struct socket *sock, struct msghdr *msg, size_t len, in netlink_recvmsg() argument
2419 struct sock *sk = sock->sk; in netlink_recvmsg()
2496 scm_recv(sock, msg, &scm, flags); in netlink_recvmsg()
2502 static void netlink_data_ready(struct sock *sk) in netlink_data_ready()
2513 struct sock *
2517 struct socket *sock; in __netlink_kernel_create() local
2518 struct sock *sk; in __netlink_kernel_create()
2529 if (sock_create_lite(PF_NETLINK, SOCK_DGRAM, unit, &sock)) in __netlink_kernel_create()
2538 if (__netlink_create(&init_net, sock, cb_mutex, unit) < 0) in __netlink_kernel_create()
2541 sk = sock->sk; in __netlink_kernel_create()
2590 sock_release(sock); in __netlink_kernel_create()
2596 netlink_kernel_release(struct sock *sk) in netlink_kernel_release()
2602 int __netlink_change_ngroups(struct sock *sk, unsigned int groups) in __netlink_change_ngroups()
2637 int netlink_change_ngroups(struct sock *sk, unsigned int groups) in netlink_change_ngroups()
2648 void __netlink_clear_multicast_users(struct sock *ksk, unsigned int group) in __netlink_clear_multicast_users()
2650 struct sock *sk; in __netlink_clear_multicast_users()
2680 static int netlink_dump(struct sock *sk) in netlink_dump()
2776 int __netlink_dump_start(struct sock *ssk, struct sk_buff *skb, in __netlink_dump_start()
2781 struct sock *sk; in __netlink_dump_start()
2863 struct sock *sk; in netlink_ack()
2936 int nlmsg_notify(struct sock *sk, struct sk_buff *skb, u32 portid, in nlmsg_notify()
3070 struct sock *s = v; in netlink_seq_show()