| From stable+bounces-47623-greg=kroah.com@vger.kernel.org Wed May 29 11:58:36 2024 |
| From: "Matthieu Baerts (NGI0)" <matttbe@kernel.org> |
| Date: Wed, 29 May 2024 11:58:19 +0200 |
| Subject: mptcp: avoid some duplicate code in socket option handling |
| To: mptcp@lists.linux.dev, stable@vger.kernel.org, gregkh@linuxfoundation.org, sashal@kernel.org |
| Cc: Paolo Abeni <pabeni@redhat.com>, Mat Martineau <martineau@kernel.org>, Matthieu Baerts <matttbe@kernel.org>, "David S . Miller" <davem@davemloft.net> |
| Message-ID: <20240529095817.3370953-6-matttbe@kernel.org> |
| |
| From: Paolo Abeni <pabeni@redhat.com> |
| |
| commit a74762675f700a5473ebe54a671a0788a5b23cc9 upstream. |
| |
| 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: Matthieu Baerts (NGI0) <matttbe@kernel.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| net/mptcp/sockopt.c | 20 ++++++++------------ |
| 1 file changed, 8 insertions(+), 12 deletions(-) |
| |
| --- a/net/mptcp/sockopt.c |
| +++ b/net/mptcp/sockopt.c |
| @@ -626,13 +626,11 @@ static int mptcp_setsockopt_sol_tcp_cork |
| { |
| struct mptcp_subflow_context *subflow; |
| struct sock *sk = (struct sock *)msk; |
| - int val; |
| + int val, ret; |
| |
| - if (optlen < sizeof(int)) |
| - return -EINVAL; |
| - |
| - 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); |
| @@ -656,13 +654,11 @@ static int mptcp_setsockopt_sol_tcp_node |
| { |
| 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); |