]> git.hungrycats.org Git - linux/commitdiff
mptcp: avoid some duplicate code in socket option handling
authorPaolo Abeni <pabeni@redhat.com>
Fri, 1 Mar 2024 17:43:45 +0000 (18:43 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 30 May 2024 07:49:28 +0000 (09:49 +0200)
[ Upstream commit a74762675f700a5473ebe54a671a0788a5b23cc9 ]

The mptcp_get_int_option() helper is needless open-coded in a
couple of places, replace the duplicate code with the helper
call.

Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Reviewed-by: Mat Martineau <martineau@kernel.org>
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Stable-dep-of: bd11dc4fb969 ("mptcp: fix full TCP keep-alive support")
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/mptcp/sockopt.c

index f361d02f94b7ea5f655b154a2bec4a4eb26dad9b..82d0cd0819f090c5bc1eed7ea15ad10387c7d265 100644 (file)
@@ -627,13 +627,11 @@ static int mptcp_setsockopt_sol_tcp_cork(struct mptcp_sock *msk, sockptr_t optva
 {
        struct mptcp_subflow_context *subflow;
        struct sock *sk = (struct sock *)msk;
-       int val;
-
-       if (optlen < sizeof(int))
-               return -EINVAL;
+       int val, ret;
 
-       if (copy_from_sockptr(&val, optval, sizeof(val)))
-               return -EFAULT;
+       ret = mptcp_get_int_option(msk, optval, optlen, &val);
+       if (ret)
+               return ret;
 
        lock_sock(sk);
        sockopt_seq_inc(msk);
@@ -657,13 +655,11 @@ static int mptcp_setsockopt_sol_tcp_nodelay(struct mptcp_sock *msk, sockptr_t op
 {
        struct mptcp_subflow_context *subflow;
        struct sock *sk = (struct sock *)msk;
-       int val;
-
-       if (optlen < sizeof(int))
-               return -EINVAL;
+       int val, ret;
 
-       if (copy_from_sockptr(&val, optval, sizeof(val)))
-               return -EFAULT;
+       ret = mptcp_get_int_option(msk, optval, optlen, &val);
+       if (ret)
+               return ret;
 
        lock_sock(sk);
        sockopt_seq_inc(msk);