Lines Matching defs:sock
46 #include <net/sock.h>
57 #include <trace/events/sock.h>
69 struct socket *sock; /* NULL if not connected */
72 * lock mode. When we release a sock we need to held the write lock.
117 struct socket *sock;
163 int (*connect)(struct connection *con, struct socket *sock,
165 void (*sockopts)(struct socket *sock);
166 int (*bind)(struct socket *sock);
168 void (*listen_sockopts)(struct socket *sock);
169 int (*listen_bind)(struct socket *sock);
173 void (*sk_error_report)(struct sock *);
174 void (*sk_data_ready)(struct sock *);
175 void (*sk_state_change)(struct sock *);
176 void (*sk_write_space)(struct sock *);
209 return !!listen_con.sock;
225 WARN_ON_ONCE(!lockdep_sock_is_held(con->sock->sk));
502 static void lowcomms_data_ready(struct sock *sk)
512 static void lowcomms_write_space(struct sock *sk)
516 clear_bit(SOCK_NOSPACE, &con->sock->flags);
520 con->sock->sk->sk_write_pending--;
521 clear_bit(SOCKWQ_ASYNC_NOSPACE, &con->sock->flags);
528 static void lowcomms_state_change(struct sock *sk)
537 static void lowcomms_listen_data_ready(struct sock *sk)
557 if (!con->sock) {
588 static void lowcomms_error_report(struct sock *sk)
627 static void restore_callbacks(struct sock *sk)
641 static void add_sock(struct socket *sock, struct connection *con)
643 struct sock *sk = sock->sk;
646 con->sock = sock;
713 static void dlm_close_sock(struct socket **sock)
715 lock_sock((*sock)->sk);
716 restore_callbacks((*sock)->sk);
717 release_sock((*sock)->sk);
719 sock_release(*sock);
720 *sock = NULL;
740 if (con->sock) {
741 lock_sock(con->sock->sk);
742 restore_callbacks(con->sock->sk);
743 release_sock(con->sock->sk);
760 if (!con->sock) {
765 dlm_close_sock(&con->sock);
805 if (!con->sock) {
810 ret = kernel_sock_shutdown(con->sock, SHUT_WR);
817 ret = wait_event_timeout(con->shutdown_wait, !con->sock,
922 ret = kernel_recvmsg(con->sock, &msg, &iov, 1, iov.iov_len,
926 lock_sock(con->sock->sk);
928 release_sock(con->sock->sk);
933 release_sock(con->sock->sk);
984 result = kernel_accept(listen_con.sock, &newsock, O_NONBLOCK);
1045 if (newcon->sock) {
1063 /* close other sock con if we have something new */
1071 lock_sock(othercon->sock->sk);
1073 release_sock(othercon->sock->sk);
1083 lock_sock(newcon->sock->sk);
1085 release_sock(newcon->sock->sk);
1120 static int sctp_bind_addrs(struct socket *sock, uint16_t port)
1131 result = kernel_bind(sock, addr, addr_len);
1133 result = sock_bind_add(sock->sk, addr, addr_len);
1383 ret = sock_sendmsg(con->sock, &msg);
1386 lock_sock(con->sock->sk);
1388 if (test_bit(SOCKWQ_ASYNC_NOSPACE, &con->sock->flags) &&
1393 set_bit(SOCK_NOSPACE, &con->sock->sk->sk_socket->flags);
1394 con->sock->sk->sk_write_pending++;
1398 release_sock(con->sock->sk);
1404 release_sock(con->sock->sk);
1434 WARN_ON_ONCE(con->sock);
1486 if (!con->sock) {
1537 if (WARN_ON_ONCE(!listen_con.sock))
1552 struct socket *sock;
1565 SOCK_STREAM, dlm_proto_ops->proto, &sock);
1569 sock_set_mark(sock->sk, mark);
1570 dlm_proto_ops->sockopts(sock);
1572 result = dlm_proto_ops->bind(sock);
1574 sock_release(sock);
1578 add_sock(sock, con);
1582 result = dlm_proto_ops->connect(con, sock, (struct sockaddr *)&addr,
1592 dlm_close_sock(&con->sock);
1609 if (!con->sock) {
1612 if (!con->sock) {
1715 lock_sock(listen_con.sock->sk);
1716 listen_con.sock->sk->sk_data_ready = listen_sock.sk_data_ready;
1717 release_sock(listen_con.sock->sk);
1720 dlm_close_sock(&listen_con.sock);
1747 struct socket *sock;
1758 SOCK_STREAM, dlm_proto_ops->proto, &sock);
1764 sock_set_mark(sock->sk, dlm_config.ci_mark);
1765 dlm_proto_ops->listen_sockopts(sock);
1767 result = dlm_proto_ops->listen_bind(sock);
1771 lock_sock(sock->sk);
1772 listen_sock.sk_data_ready = sock->sk->sk_data_ready;
1773 listen_sock.sk_write_space = sock->sk->sk_write_space;
1774 listen_sock.sk_error_report = sock->sk->sk_error_report;
1775 listen_sock.sk_state_change = sock->sk->sk_state_change;
1777 listen_con.sock = sock;
1779 sock->sk->sk_allocation = GFP_NOFS;
1780 sock->sk->sk_use_task_frag = false;
1781 sock->sk->sk_data_ready = lowcomms_listen_data_ready;
1782 release_sock(sock->sk);
1784 result = sock->ops->listen(sock, 128);
1786 dlm_close_sock(&listen_con.sock);
1793 sock_release(sock);
1797 static int dlm_tcp_bind(struct socket *sock)
1808 result = kernel_bind(sock, (struct sockaddr *)&src_addr,
1818 static int dlm_tcp_connect(struct connection *con, struct socket *sock,
1821 return kernel_connect(sock, addr, addr_len, O_NONBLOCK);
1835 static void dlm_tcp_sockopts(struct socket *sock)
1838 tcp_sock_set_nodelay(sock->sk);
1841 static void dlm_tcp_listen_sockopts(struct socket *sock)
1843 dlm_tcp_sockopts(sock);
1844 sock_set_reuseaddr(sock->sk);
1847 static int dlm_tcp_listen_bind(struct socket *sock)
1853 return kernel_bind(sock, (struct sockaddr *)&dlm_local_addr[0],
1868 static int dlm_sctp_bind(struct socket *sock)
1870 return sctp_bind_addrs(sock, 0);
1873 static int dlm_sctp_connect(struct connection *con, struct socket *sock,
1883 sock_set_sndtimeo(sock->sk, 5);
1884 ret = kernel_connect(sock, addr, addr_len, 0);
1885 sock_set_sndtimeo(sock->sk, 0);
1900 static int dlm_sctp_bind_listen(struct socket *sock)
1902 return sctp_bind_addrs(sock, dlm_config.ci_tcp_port);
1905 static void dlm_sctp_sockopts(struct socket *sock)
1908 sctp_sock_set_nodelay(sock->sk);
1909 sock_set_rcvbuf(sock->sk, NEEDED_RMEM);