Hi Christoph,
On 20/07/2020 14:47, Christoph Hellwig wrote:
Rework the remaining setsockopt code to pass a sockptr_t instead of a
plain user pointer. This removes the last remaining set_fs(KERNEL_DS)
outside of architecture specific code.
Signed-off-by: Christoph Hellwig <hch@xxxxxx>
---
...
diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c
index 27b6f250b87dfd..30a8e697b9db9c 100644
--- a/net/mptcp/protocol.c
+++ b/net/mptcp/protocol.c
@@ -1627,7 +1627,7 @@ static void mptcp_destroy(struct sock *sk)
}
static int mptcp_setsockopt_sol_socket(struct mptcp_sock *msk, int optname,
- char __user *optval, unsigned int optlen)
+ sockptr_t optval, unsigned int optlen)
{
struct sock *sk = (struct sock *)msk;
struct socket *ssock;
@@ -1643,8 +1643,8 @@ static int mptcp_setsockopt_sol_socket(struct mptcp_sock *msk, int optname,
return -EINVAL;
}
- ret = sock_setsockopt(ssock, SOL_SOCKET, optname,
- USER_SOCKPTR(optval), optlen);
+ ret = sock_setsockopt(ssock, SOL_SOCKET, optname, optval,
+ optlen);
A very small detail related to the modifications in MPTCP code, only if
you have to send a v2 and if you don't mind: may you move "optlen" to
the previous line like it was before your patch 7/24. Same below at the
end of the function.
That would reduce the global diff in MPTCP files to function signatures
only.
Cheers,
Matt
--
Tessares | Belgium | Hybrid Access Solutions
www.tessares.net