Lines Matching refs:optval

57 static int mptcp_get_int_option(struct mptcp_sock *msk, sockptr_t optval,  in mptcp_get_int_option()  argument
63 if (copy_from_sockptr(val, optval, sizeof(*val))) in mptcp_get_int_option()
123 sockptr_t optval = KERNEL_SOCKPTR(&val); in mptcp_sol_socket_intval() local
128 optval, sizeof(val)); in mptcp_sol_socket_intval()
147 sockptr_t optval = KERNEL_SOCKPTR(&val); in mptcp_setsockopt_sol_socket_tstamp() local
153 optval, sizeof(val)); in mptcp_setsockopt_sol_socket_tstamp()
171 sockptr_t optval, in mptcp_setsockopt_sol_socket_int() argument
176 ret = mptcp_get_int_option(msk, optval, optlen, &val); in mptcp_setsockopt_sol_socket_int()
207 sockptr_t optval, in mptcp_setsockopt_sol_socket_timestamping() argument
216 if (copy_from_sockptr(&timestamping, optval, in mptcp_setsockopt_sol_socket_timestamping()
222 if (copy_from_sockptr(&timestamping.flags, optval, sizeof(int))) in mptcp_setsockopt_sol_socket_timestamping()
249 static int mptcp_setsockopt_sol_socket_linger(struct mptcp_sock *msk, sockptr_t optval, in mptcp_setsockopt_sol_socket_linger() argument
261 if (copy_from_sockptr(&ling, optval, sizeof(ling))) in mptcp_setsockopt_sol_socket_linger()
291 sockptr_t optval, unsigned int optlen) in mptcp_setsockopt_sol_socket() argument
309 ret = sock_setsockopt(ssock, SOL_SOCKET, optname, optval, optlen); in mptcp_setsockopt_sol_socket()
335 return mptcp_setsockopt_sol_socket_int(msk, optname, optval, in mptcp_setsockopt_sol_socket()
340 optval, optlen); in mptcp_setsockopt_sol_socket()
342 return mptcp_setsockopt_sol_socket_linger(msk, optval, optlen); in mptcp_setsockopt_sol_socket()
352 return sock_setsockopt(sk->sk_socket, SOL_SOCKET, optname, optval, optlen); in mptcp_setsockopt_sol_socket()
387 sockptr_t optval, unsigned int optlen) in mptcp_setsockopt_v6() argument
404 ret = tcp_setsockopt(ssock->sk, SOL_IPV6, optname, optval, optlen); in mptcp_setsockopt_v6()
578 static int mptcp_setsockopt_sol_tcp_congestion(struct mptcp_sock *msk, sockptr_t optval, in mptcp_setsockopt_sol_tcp_congestion() argument
590 ret = strncpy_from_sockptr(name, optval, in mptcp_setsockopt_sol_tcp_congestion()
621 static int mptcp_setsockopt_sol_tcp_cork(struct mptcp_sock *msk, sockptr_t optval, in mptcp_setsockopt_sol_tcp_cork() argument
631 if (copy_from_sockptr(&val, optval, sizeof(val))) in mptcp_setsockopt_sol_tcp_cork()
651 static int mptcp_setsockopt_sol_tcp_nodelay(struct mptcp_sock *msk, sockptr_t optval, in mptcp_setsockopt_sol_tcp_nodelay() argument
661 if (copy_from_sockptr(&val, optval, sizeof(val))) in mptcp_setsockopt_sol_tcp_nodelay()
682 sockptr_t optval, unsigned int optlen) in mptcp_setsockopt_sol_ip_set_transparent() argument
689 err = ip_setsockopt(sk, SOL_IP, optname, optval, optlen); in mptcp_setsockopt_sol_ip_set_transparent()
722 sockptr_t optval, unsigned int optlen) in mptcp_setsockopt_v4_set_tos() argument
728 err = ip_setsockopt(sk, SOL_IP, optname, optval, optlen); in mptcp_setsockopt_v4_set_tos()
747 sockptr_t optval, unsigned int optlen) in mptcp_setsockopt_v4() argument
752 return mptcp_setsockopt_sol_ip_set_transparent(msk, optname, optval, optlen); in mptcp_setsockopt_v4()
754 return mptcp_setsockopt_v4_set_tos(msk, optname, optval, optlen); in mptcp_setsockopt_v4()
760 static int mptcp_setsockopt_sol_tcp_defer(struct mptcp_sock *msk, sockptr_t optval, in mptcp_setsockopt_sol_tcp_defer() argument
769 return tcp_setsockopt(listener->sk, SOL_TCP, TCP_DEFER_ACCEPT, optval, optlen); in mptcp_setsockopt_sol_tcp_defer()
772 static int mptcp_setsockopt_sol_tcp_fastopen_connect(struct mptcp_sock *msk, sockptr_t optval, in mptcp_setsockopt_sol_tcp_fastopen_connect() argument
782 return tcp_setsockopt(sock->sk, SOL_TCP, TCP_FASTOPEN_CONNECT, optval, optlen); in mptcp_setsockopt_sol_tcp_fastopen_connect()
786 sockptr_t optval, unsigned int optlen) in mptcp_setsockopt_sol_tcp() argument
793 ret = mptcp_get_int_option(msk, optval, optlen, &val); in mptcp_setsockopt_sol_tcp()
806 return mptcp_setsockopt_sol_tcp_congestion(msk, optval, optlen); in mptcp_setsockopt_sol_tcp()
808 return mptcp_setsockopt_sol_tcp_cork(msk, optval, optlen); in mptcp_setsockopt_sol_tcp()
810 return mptcp_setsockopt_sol_tcp_nodelay(msk, optval, optlen); in mptcp_setsockopt_sol_tcp()
812 return mptcp_setsockopt_sol_tcp_defer(msk, optval, optlen); in mptcp_setsockopt_sol_tcp()
814 return mptcp_setsockopt_sol_tcp_fastopen_connect(msk, optval, optlen); in mptcp_setsockopt_sol_tcp()
821 sockptr_t optval, unsigned int optlen) in mptcp_setsockopt() argument
829 return mptcp_setsockopt_sol_socket(msk, optname, optval, optlen); in mptcp_setsockopt()
844 return tcp_setsockopt(ssk, level, optname, optval, optlen); in mptcp_setsockopt()
847 return mptcp_setsockopt_v4(msk, optname, optval, optlen); in mptcp_setsockopt()
850 return mptcp_setsockopt_v6(msk, optname, optval, optlen); in mptcp_setsockopt()
853 return mptcp_setsockopt_sol_tcp(msk, optname, optval, optlen); in mptcp_setsockopt()
859 char __user *optval, int __user *optlen) in mptcp_getsockopt_first_sf_only() argument
869 ret = tcp_getsockopt(ssk, level, optname, optval, optlen); in mptcp_getsockopt_first_sf_only()
877 ret = tcp_getsockopt(ssock->sk, level, optname, optval, optlen); in mptcp_getsockopt_first_sf_only()
914 static int mptcp_getsockopt_info(struct mptcp_sock *msk, char __user *optval, int __user *optlen) in mptcp_getsockopt_info() argument
929 if (copy_to_user(optval, &m_info, len)) in mptcp_getsockopt_info()
936 char __user *optval, in mptcp_put_subflow_data() argument
950 if (copy_to_user(optval, sfd, copylen)) in mptcp_put_subflow_data()
957 char __user *optval, int __user *optlen) in mptcp_get_subflow_data() argument
975 if (copy_from_user(sfd, optval, copylen)) in mptcp_get_subflow_data()
993 static int mptcp_getsockopt_tcpinfo(struct mptcp_sock *msk, char __user *optval, in mptcp_getsockopt_tcpinfo() argument
1003 len = mptcp_get_subflow_data(&sfd, optval, optlen); in mptcp_getsockopt_tcpinfo()
1011 infoptr = optval + sfd.size_subflow_data; in mptcp_getsockopt_tcpinfo()
1040 if (mptcp_put_subflow_data(&sfd, optval, copied, optlen)) in mptcp_getsockopt_tcpinfo()
1085 static int mptcp_getsockopt_subflow_addrs(struct mptcp_sock *msk, char __user *optval, in mptcp_getsockopt_subflow_addrs() argument
1095 len = mptcp_get_subflow_data(&sfd, optval, optlen); in mptcp_getsockopt_subflow_addrs()
1103 addrptr = optval + sfd.size_subflow_data; in mptcp_getsockopt_subflow_addrs()
1132 if (mptcp_put_subflow_data(&sfd, optval, copied, optlen)) in mptcp_getsockopt_subflow_addrs()
1138 static int mptcp_put_int_option(struct mptcp_sock *msk, char __user *optval, in mptcp_put_int_option() argument
1154 if (copy_to_user(optval, &ucval, 1)) in mptcp_put_int_option()
1160 if (copy_to_user(optval, &val, len)) in mptcp_put_int_option()
1168 char __user *optval, int __user *optlen) in mptcp_getsockopt_sol_tcp() argument
1178 optval, optlen); in mptcp_getsockopt_sol_tcp()
1180 return mptcp_put_int_option(msk, optval, optlen, msk->recvmsg_inq); in mptcp_getsockopt_sol_tcp()
1182 return mptcp_put_int_option(msk, optval, optlen, msk->cork); in mptcp_getsockopt_sol_tcp()
1184 return mptcp_put_int_option(msk, optval, optlen, msk->nodelay); in mptcp_getsockopt_sol_tcp()
1190 char __user *optval, int __user *optlen) in mptcp_getsockopt_v4() argument
1196 return mptcp_put_int_option(msk, optval, optlen, inet_sk(sk)->tos); in mptcp_getsockopt_v4()
1203 char __user *optval, int __user *optlen) in mptcp_getsockopt_sol_mptcp() argument
1207 return mptcp_getsockopt_info(msk, optval, optlen); in mptcp_getsockopt_sol_mptcp()
1209 return mptcp_getsockopt_tcpinfo(msk, optval, optlen); in mptcp_getsockopt_sol_mptcp()
1211 return mptcp_getsockopt_subflow_addrs(msk, optval, optlen); in mptcp_getsockopt_sol_mptcp()
1218 char __user *optval, int __user *option) in mptcp_getsockopt() argument
1235 return tcp_getsockopt(ssk, level, optname, optval, option); in mptcp_getsockopt()
1238 return mptcp_getsockopt_v4(msk, optname, optval, option); in mptcp_getsockopt()
1240 return mptcp_getsockopt_sol_tcp(msk, optname, optval, option); in mptcp_getsockopt()
1242 return mptcp_getsockopt_sol_mptcp(msk, optname, optval, option); in mptcp_getsockopt()