All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch at lst.de>
To: mptcp at lists.01.org
Subject: [MPTCP] [PATCH 24/26] net/tcp: switch do_tcp_setsockopt to sockptr_t
Date: Thu, 23 Jul 2020 08:09:06 +0200	[thread overview]
Message-ID: <20200723060908.50081-25-hch@lst.de> (raw)
In-Reply-To: 20200723060908.50081-1-hch@lst.de

[-- Attachment #1: Type: text/plain, Size: 4471 bytes --]

Pass a sockptr_t to prepare for set_fs-less handling of the kernel
pointer from bpf-cgroup.

Signed-off-by: Christoph Hellwig <hch(a)lst.de>
---
 net/ipv4/tcp.c | 34 ++++++++++++++++------------------
 1 file changed, 16 insertions(+), 18 deletions(-)

diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c
index 49bf15c27deac7..71cbc61c335f71 100644
--- a/net/ipv4/tcp.c
+++ b/net/ipv4/tcp.c
@@ -2764,7 +2764,7 @@ static inline bool tcp_can_repair_sock(const struct sock *sk)
 		(sk->sk_state != TCP_LISTEN);
 }
 
-static int tcp_repair_set_window(struct tcp_sock *tp, char __user *optbuf, int len)
+static int tcp_repair_set_window(struct tcp_sock *tp, sockptr_t optbuf, int len)
 {
 	struct tcp_repair_window opt;
 
@@ -2774,7 +2774,7 @@ static int tcp_repair_set_window(struct tcp_sock *tp, char __user *optbuf, int l
 	if (len != sizeof(opt))
 		return -EINVAL;
 
-	if (copy_from_user(&opt, optbuf, sizeof(opt)))
+	if (copy_from_sockptr(&opt, optbuf, sizeof(opt)))
 		return -EFAULT;
 
 	if (opt.max_window < opt.snd_wnd)
@@ -2796,17 +2796,17 @@ static int tcp_repair_set_window(struct tcp_sock *tp, char __user *optbuf, int l
 	return 0;
 }
 
-static int tcp_repair_options_est(struct sock *sk,
-		struct tcp_repair_opt __user *optbuf, unsigned int len)
+static int tcp_repair_options_est(struct sock *sk, sockptr_t optbuf,
+		unsigned int len)
 {
 	struct tcp_sock *tp = tcp_sk(sk);
 	struct tcp_repair_opt opt;
 
 	while (len >= sizeof(opt)) {
-		if (copy_from_user(&opt, optbuf, sizeof(opt)))
+		if (copy_from_sockptr(&opt, optbuf, sizeof(opt)))
 			return -EFAULT;
 
-		optbuf++;
+		sockptr_advance(optbuf, sizeof(opt));
 		len -= sizeof(opt);
 
 		switch (opt.opt_code) {
@@ -3020,8 +3020,8 @@ EXPORT_SYMBOL(tcp_sock_set_keepcnt);
 /*
  *	Socket option code for TCP.
  */
-static int do_tcp_setsockopt(struct sock *sk, int level,
-		int optname, char __user *optval, unsigned int optlen)
+static int do_tcp_setsockopt(struct sock *sk, int level, int optname,
+		sockptr_t optval, unsigned int optlen)
 {
 	struct tcp_sock *tp = tcp_sk(sk);
 	struct inet_connection_sock *icsk = inet_csk(sk);
@@ -3037,7 +3037,7 @@ static int do_tcp_setsockopt(struct sock *sk, int level,
 		if (optlen < 1)
 			return -EINVAL;
 
-		val = strncpy_from_user(name, optval,
+		val = strncpy_from_sockptr(name, optval,
 					min_t(long, TCP_CA_NAME_MAX-1, optlen));
 		if (val < 0)
 			return -EFAULT;
@@ -3056,7 +3056,7 @@ static int do_tcp_setsockopt(struct sock *sk, int level,
 		if (optlen < 1)
 			return -EINVAL;
 
-		val = strncpy_from_user(name, optval,
+		val = strncpy_from_sockptr(name, optval,
 					min_t(long, TCP_ULP_NAME_MAX - 1,
 					      optlen));
 		if (val < 0)
@@ -3079,7 +3079,7 @@ static int do_tcp_setsockopt(struct sock *sk, int level,
 		    optlen != TCP_FASTOPEN_KEY_BUF_LENGTH)
 			return -EINVAL;
 
-		if (copy_from_user(key, optval, optlen))
+		if (copy_from_sockptr(key, optval, optlen))
 			return -EFAULT;
 
 		if (optlen == TCP_FASTOPEN_KEY_BUF_LENGTH)
@@ -3095,7 +3095,7 @@ static int do_tcp_setsockopt(struct sock *sk, int level,
 	if (optlen < sizeof(int))
 		return -EINVAL;
 
-	if (get_user(val, (int __user *)optval))
+	if (copy_from_sockptr(&val, optval, sizeof(val)))
 		return -EFAULT;
 
 	lock_sock(sk);
@@ -3174,9 +3174,7 @@ static int do_tcp_setsockopt(struct sock *sk, int level,
 		if (!tp->repair)
 			err = -EINVAL;
 		else if (sk->sk_state == TCP_ESTABLISHED)
-			err = tcp_repair_options_est(sk,
-					(struct tcp_repair_opt __user *)optval,
-					optlen);
+			err = tcp_repair_options_est(sk, optval, optlen);
 		else
 			err = -EPERM;
 		break;
@@ -3249,8 +3247,7 @@ static int do_tcp_setsockopt(struct sock *sk, int level,
 #ifdef CONFIG_TCP_MD5SIG
 	case TCP_MD5SIG:
 	case TCP_MD5SIG_EXT:
-		err = tp->af_specific->md5_parse(sk, optname,
-						 USER_SOCKPTR(optval), optlen);
+		err = tp->af_specific->md5_parse(sk, optname, optval, optlen);
 		break;
 #endif
 	case TCP_USER_TIMEOUT:
@@ -3334,7 +3331,8 @@ int tcp_setsockopt(struct sock *sk, int level, int optname, char __user *optval,
 	if (level != SOL_TCP)
 		return icsk->icsk_af_ops->setsockopt(sk, level, optname,
 						     optval, optlen);
-	return do_tcp_setsockopt(sk, level, optname, optval, optlen);
+	return do_tcp_setsockopt(sk, level, optname, USER_SOCKPTR(optval),
+				 optlen);
 }
 EXPORT_SYMBOL(tcp_setsockopt);
 
-- 
2.27.0

WARNING: multiple messages have this Message-ID (diff)
From: Christoph Hellwig <hch@lst.de>
To: "David S. Miller" <davem@davemloft.net>,
	Jakub Kicinski <kuba@kernel.org>,
	Alexei Starovoitov <ast@kernel.org>,
	Daniel Borkmann <daniel@iogearbox.net>,
	Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>,
	Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>,
	Eric Dumazet <edumazet@google.com>
Cc: linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org,
	netdev@vger.kernel.org, bpf@vger.kernel.org,
	netfilter-devel@vger.kernel.org, coreteam@netfilter.org,
	linux-sctp@vger.kernel.org, linux-hams@vger.kernel.org,
	linux-bluetooth@vger.kernel.org,
	bridge@lists.linux-foundation.org, linux-can@vger.kernel.org,
	dccp@vger.kernel.org, linux-decnet-user@lists.sourceforge.net,
	linux-wpan@vger.kernel.org, linux-s390@vger.kernel.org,
	mptcp@lists.01.org, lvs-devel@vger.kernel.org,
	rds-devel@oss.oracle.com, linux-afs@lists.infradead.org,
	tipc-discussion@lists.sourceforge.net, linux-x25@vger.kernel.org
Subject: [PATCH 24/26] net/tcp: switch do_tcp_setsockopt to sockptr_t
Date: Thu, 23 Jul 2020 08:09:06 +0200	[thread overview]
Message-ID: <20200723060908.50081-25-hch@lst.de> (raw)
In-Reply-To: <20200723060908.50081-1-hch@lst.de>

Pass a sockptr_t to prepare for set_fs-less handling of the kernel
pointer from bpf-cgroup.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 net/ipv4/tcp.c | 34 ++++++++++++++++------------------
 1 file changed, 16 insertions(+), 18 deletions(-)

diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c
index 49bf15c27deac7..71cbc61c335f71 100644
--- a/net/ipv4/tcp.c
+++ b/net/ipv4/tcp.c
@@ -2764,7 +2764,7 @@ static inline bool tcp_can_repair_sock(const struct sock *sk)
 		(sk->sk_state != TCP_LISTEN);
 }
 
-static int tcp_repair_set_window(struct tcp_sock *tp, char __user *optbuf, int len)
+static int tcp_repair_set_window(struct tcp_sock *tp, sockptr_t optbuf, int len)
 {
 	struct tcp_repair_window opt;
 
@@ -2774,7 +2774,7 @@ static int tcp_repair_set_window(struct tcp_sock *tp, char __user *optbuf, int l
 	if (len != sizeof(opt))
 		return -EINVAL;
 
-	if (copy_from_user(&opt, optbuf, sizeof(opt)))
+	if (copy_from_sockptr(&opt, optbuf, sizeof(opt)))
 		return -EFAULT;
 
 	if (opt.max_window < opt.snd_wnd)
@@ -2796,17 +2796,17 @@ static int tcp_repair_set_window(struct tcp_sock *tp, char __user *optbuf, int l
 	return 0;
 }
 
-static int tcp_repair_options_est(struct sock *sk,
-		struct tcp_repair_opt __user *optbuf, unsigned int len)
+static int tcp_repair_options_est(struct sock *sk, sockptr_t optbuf,
+		unsigned int len)
 {
 	struct tcp_sock *tp = tcp_sk(sk);
 	struct tcp_repair_opt opt;
 
 	while (len >= sizeof(opt)) {
-		if (copy_from_user(&opt, optbuf, sizeof(opt)))
+		if (copy_from_sockptr(&opt, optbuf, sizeof(opt)))
 			return -EFAULT;
 
-		optbuf++;
+		sockptr_advance(optbuf, sizeof(opt));
 		len -= sizeof(opt);
 
 		switch (opt.opt_code) {
@@ -3020,8 +3020,8 @@ EXPORT_SYMBOL(tcp_sock_set_keepcnt);
 /*
  *	Socket option code for TCP.
  */
-static int do_tcp_setsockopt(struct sock *sk, int level,
-		int optname, char __user *optval, unsigned int optlen)
+static int do_tcp_setsockopt(struct sock *sk, int level, int optname,
+		sockptr_t optval, unsigned int optlen)
 {
 	struct tcp_sock *tp = tcp_sk(sk);
 	struct inet_connection_sock *icsk = inet_csk(sk);
@@ -3037,7 +3037,7 @@ static int do_tcp_setsockopt(struct sock *sk, int level,
 		if (optlen < 1)
 			return -EINVAL;
 
-		val = strncpy_from_user(name, optval,
+		val = strncpy_from_sockptr(name, optval,
 					min_t(long, TCP_CA_NAME_MAX-1, optlen));
 		if (val < 0)
 			return -EFAULT;
@@ -3056,7 +3056,7 @@ static int do_tcp_setsockopt(struct sock *sk, int level,
 		if (optlen < 1)
 			return -EINVAL;
 
-		val = strncpy_from_user(name, optval,
+		val = strncpy_from_sockptr(name, optval,
 					min_t(long, TCP_ULP_NAME_MAX - 1,
 					      optlen));
 		if (val < 0)
@@ -3079,7 +3079,7 @@ static int do_tcp_setsockopt(struct sock *sk, int level,
 		    optlen != TCP_FASTOPEN_KEY_BUF_LENGTH)
 			return -EINVAL;
 
-		if (copy_from_user(key, optval, optlen))
+		if (copy_from_sockptr(key, optval, optlen))
 			return -EFAULT;
 
 		if (optlen == TCP_FASTOPEN_KEY_BUF_LENGTH)
@@ -3095,7 +3095,7 @@ static int do_tcp_setsockopt(struct sock *sk, int level,
 	if (optlen < sizeof(int))
 		return -EINVAL;
 
-	if (get_user(val, (int __user *)optval))
+	if (copy_from_sockptr(&val, optval, sizeof(val)))
 		return -EFAULT;
 
 	lock_sock(sk);
@@ -3174,9 +3174,7 @@ static int do_tcp_setsockopt(struct sock *sk, int level,
 		if (!tp->repair)
 			err = -EINVAL;
 		else if (sk->sk_state == TCP_ESTABLISHED)
-			err = tcp_repair_options_est(sk,
-					(struct tcp_repair_opt __user *)optval,
-					optlen);
+			err = tcp_repair_options_est(sk, optval, optlen);
 		else
 			err = -EPERM;
 		break;
@@ -3249,8 +3247,7 @@ static int do_tcp_setsockopt(struct sock *sk, int level,
 #ifdef CONFIG_TCP_MD5SIG
 	case TCP_MD5SIG:
 	case TCP_MD5SIG_EXT:
-		err = tp->af_specific->md5_parse(sk, optname,
-						 USER_SOCKPTR(optval), optlen);
+		err = tp->af_specific->md5_parse(sk, optname, optval, optlen);
 		break;
 #endif
 	case TCP_USER_TIMEOUT:
@@ -3334,7 +3331,8 @@ int tcp_setsockopt(struct sock *sk, int level, int optname, char __user *optval,
 	if (level != SOL_TCP)
 		return icsk->icsk_af_ops->setsockopt(sk, level, optname,
 						     optval, optlen);
-	return do_tcp_setsockopt(sk, level, optname, optval, optlen);
+	return do_tcp_setsockopt(sk, level, optname, USER_SOCKPTR(optval),
+				 optlen);
 }
 EXPORT_SYMBOL(tcp_setsockopt);
 
-- 
2.27.0


WARNING: multiple messages have this Message-ID (diff)
From: Christoph Hellwig <hch@lst.de>
To: "David S. Miller" <davem@davemloft.net>,
	Jakub Kicinski <kuba@kernel.org>,
	Alexei Starovoitov <ast@kernel.org>,
	Daniel Borkmann <daniel@iogearbox.net>,
	Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>,
	Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>,
	Eric Dumazet <edumazet@google.com>
Cc: linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org,
	netdev@vger.kernel.org, bpf@vger.kernel.org,
	netfilter-devel@vger.kernel.org, coreteam@netfilter.org,
	linux-sctp@vger.kernel.org, linux-hams@vger.kernel.org,
	linux-bluetooth@vger.kernel.org,
	bridge@lists.linux-foundation.org, linux-can@vger.kernel.org,
	dccp@vger.kernel.org, linux-decnet-user@lists.sourceforge.net,
	linux-wpan@vger.kernel.org, linux-s390@vger.kernel.org,
	mptcp@lists.01.org, lvs-devel@vger.kernel.org,
	rds-devel@oss.oracle.com, linux-afs@lists.infradead.org,
	tipc-discussion@lists.sourceforge.net, linux-x25@vger.kernel.org
Subject: [PATCH 24/26] net/tcp: switch do_tcp_setsockopt to sockptr_t
Date: Thu, 23 Jul 2020 06:09:06 +0000	[thread overview]
Message-ID: <20200723060908.50081-25-hch@lst.de> (raw)
In-Reply-To: <20200723060908.50081-1-hch@lst.de>

Pass a sockptr_t to prepare for set_fs-less handling of the kernel
pointer from bpf-cgroup.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 net/ipv4/tcp.c | 34 ++++++++++++++++------------------
 1 file changed, 16 insertions(+), 18 deletions(-)

diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c
index 49bf15c27deac7..71cbc61c335f71 100644
--- a/net/ipv4/tcp.c
+++ b/net/ipv4/tcp.c
@@ -2764,7 +2764,7 @@ static inline bool tcp_can_repair_sock(const struct sock *sk)
 		(sk->sk_state != TCP_LISTEN);
 }
 
-static int tcp_repair_set_window(struct tcp_sock *tp, char __user *optbuf, int len)
+static int tcp_repair_set_window(struct tcp_sock *tp, sockptr_t optbuf, int len)
 {
 	struct tcp_repair_window opt;
 
@@ -2774,7 +2774,7 @@ static int tcp_repair_set_window(struct tcp_sock *tp, char __user *optbuf, int l
 	if (len != sizeof(opt))
 		return -EINVAL;
 
-	if (copy_from_user(&opt, optbuf, sizeof(opt)))
+	if (copy_from_sockptr(&opt, optbuf, sizeof(opt)))
 		return -EFAULT;
 
 	if (opt.max_window < opt.snd_wnd)
@@ -2796,17 +2796,17 @@ static int tcp_repair_set_window(struct tcp_sock *tp, char __user *optbuf, int l
 	return 0;
 }
 
-static int tcp_repair_options_est(struct sock *sk,
-		struct tcp_repair_opt __user *optbuf, unsigned int len)
+static int tcp_repair_options_est(struct sock *sk, sockptr_t optbuf,
+		unsigned int len)
 {
 	struct tcp_sock *tp = tcp_sk(sk);
 	struct tcp_repair_opt opt;
 
 	while (len >= sizeof(opt)) {
-		if (copy_from_user(&opt, optbuf, sizeof(opt)))
+		if (copy_from_sockptr(&opt, optbuf, sizeof(opt)))
 			return -EFAULT;
 
-		optbuf++;
+		sockptr_advance(optbuf, sizeof(opt));
 		len -= sizeof(opt);
 
 		switch (opt.opt_code) {
@@ -3020,8 +3020,8 @@ EXPORT_SYMBOL(tcp_sock_set_keepcnt);
 /*
  *	Socket option code for TCP.
  */
-static int do_tcp_setsockopt(struct sock *sk, int level,
-		int optname, char __user *optval, unsigned int optlen)
+static int do_tcp_setsockopt(struct sock *sk, int level, int optname,
+		sockptr_t optval, unsigned int optlen)
 {
 	struct tcp_sock *tp = tcp_sk(sk);
 	struct inet_connection_sock *icsk = inet_csk(sk);
@@ -3037,7 +3037,7 @@ static int do_tcp_setsockopt(struct sock *sk, int level,
 		if (optlen < 1)
 			return -EINVAL;
 
-		val = strncpy_from_user(name, optval,
+		val = strncpy_from_sockptr(name, optval,
 					min_t(long, TCP_CA_NAME_MAX-1, optlen));
 		if (val < 0)
 			return -EFAULT;
@@ -3056,7 +3056,7 @@ static int do_tcp_setsockopt(struct sock *sk, int level,
 		if (optlen < 1)
 			return -EINVAL;
 
-		val = strncpy_from_user(name, optval,
+		val = strncpy_from_sockptr(name, optval,
 					min_t(long, TCP_ULP_NAME_MAX - 1,
 					      optlen));
 		if (val < 0)
@@ -3079,7 +3079,7 @@ static int do_tcp_setsockopt(struct sock *sk, int level,
 		    optlen != TCP_FASTOPEN_KEY_BUF_LENGTH)
 			return -EINVAL;
 
-		if (copy_from_user(key, optval, optlen))
+		if (copy_from_sockptr(key, optval, optlen))
 			return -EFAULT;
 
 		if (optlen = TCP_FASTOPEN_KEY_BUF_LENGTH)
@@ -3095,7 +3095,7 @@ static int do_tcp_setsockopt(struct sock *sk, int level,
 	if (optlen < sizeof(int))
 		return -EINVAL;
 
-	if (get_user(val, (int __user *)optval))
+	if (copy_from_sockptr(&val, optval, sizeof(val)))
 		return -EFAULT;
 
 	lock_sock(sk);
@@ -3174,9 +3174,7 @@ static int do_tcp_setsockopt(struct sock *sk, int level,
 		if (!tp->repair)
 			err = -EINVAL;
 		else if (sk->sk_state = TCP_ESTABLISHED)
-			err = tcp_repair_options_est(sk,
-					(struct tcp_repair_opt __user *)optval,
-					optlen);
+			err = tcp_repair_options_est(sk, optval, optlen);
 		else
 			err = -EPERM;
 		break;
@@ -3249,8 +3247,7 @@ static int do_tcp_setsockopt(struct sock *sk, int level,
 #ifdef CONFIG_TCP_MD5SIG
 	case TCP_MD5SIG:
 	case TCP_MD5SIG_EXT:
-		err = tp->af_specific->md5_parse(sk, optname,
-						 USER_SOCKPTR(optval), optlen);
+		err = tp->af_specific->md5_parse(sk, optname, optval, optlen);
 		break;
 #endif
 	case TCP_USER_TIMEOUT:
@@ -3334,7 +3331,8 @@ int tcp_setsockopt(struct sock *sk, int level, int optname, char __user *optval,
 	if (level != SOL_TCP)
 		return icsk->icsk_af_ops->setsockopt(sk, level, optname,
 						     optval, optlen);
-	return do_tcp_setsockopt(sk, level, optname, optval, optlen);
+	return do_tcp_setsockopt(sk, level, optname, USER_SOCKPTR(optval),
+				 optlen);
 }
 EXPORT_SYMBOL(tcp_setsockopt);
 
-- 
2.27.0

WARNING: multiple messages have this Message-ID (diff)
From: Christoph Hellwig <hch@lst.de>
To: dccp@vger.kernel.org
Subject: [PATCH 24/26] net/tcp: switch do_tcp_setsockopt to sockptr_t
Date: Thu, 23 Jul 2020 06:09:06 +0000	[thread overview]
Message-ID: <20200723060908.50081-25-hch@lst.de> (raw)

Pass a sockptr_t to prepare for set_fs-less handling of the kernel
pointer from bpf-cgroup.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 net/ipv4/tcp.c | 34 ++++++++++++++++------------------
 1 file changed, 16 insertions(+), 18 deletions(-)

diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c
index 49bf15c27deac7..71cbc61c335f71 100644
--- a/net/ipv4/tcp.c
+++ b/net/ipv4/tcp.c
@@ -2764,7 +2764,7 @@ static inline bool tcp_can_repair_sock(const struct sock *sk)
 		(sk->sk_state != TCP_LISTEN);
 }
 
-static int tcp_repair_set_window(struct tcp_sock *tp, char __user *optbuf, int len)
+static int tcp_repair_set_window(struct tcp_sock *tp, sockptr_t optbuf, int len)
 {
 	struct tcp_repair_window opt;
 
@@ -2774,7 +2774,7 @@ static int tcp_repair_set_window(struct tcp_sock *tp, char __user *optbuf, int l
 	if (len != sizeof(opt))
 		return -EINVAL;
 
-	if (copy_from_user(&opt, optbuf, sizeof(opt)))
+	if (copy_from_sockptr(&opt, optbuf, sizeof(opt)))
 		return -EFAULT;
 
 	if (opt.max_window < opt.snd_wnd)
@@ -2796,17 +2796,17 @@ static int tcp_repair_set_window(struct tcp_sock *tp, char __user *optbuf, int l
 	return 0;
 }
 
-static int tcp_repair_options_est(struct sock *sk,
-		struct tcp_repair_opt __user *optbuf, unsigned int len)
+static int tcp_repair_options_est(struct sock *sk, sockptr_t optbuf,
+		unsigned int len)
 {
 	struct tcp_sock *tp = tcp_sk(sk);
 	struct tcp_repair_opt opt;
 
 	while (len >= sizeof(opt)) {
-		if (copy_from_user(&opt, optbuf, sizeof(opt)))
+		if (copy_from_sockptr(&opt, optbuf, sizeof(opt)))
 			return -EFAULT;
 
-		optbuf++;
+		sockptr_advance(optbuf, sizeof(opt));
 		len -= sizeof(opt);
 
 		switch (opt.opt_code) {
@@ -3020,8 +3020,8 @@ EXPORT_SYMBOL(tcp_sock_set_keepcnt);
 /*
  *	Socket option code for TCP.
  */
-static int do_tcp_setsockopt(struct sock *sk, int level,
-		int optname, char __user *optval, unsigned int optlen)
+static int do_tcp_setsockopt(struct sock *sk, int level, int optname,
+		sockptr_t optval, unsigned int optlen)
 {
 	struct tcp_sock *tp = tcp_sk(sk);
 	struct inet_connection_sock *icsk = inet_csk(sk);
@@ -3037,7 +3037,7 @@ static int do_tcp_setsockopt(struct sock *sk, int level,
 		if (optlen < 1)
 			return -EINVAL;
 
-		val = strncpy_from_user(name, optval,
+		val = strncpy_from_sockptr(name, optval,
 					min_t(long, TCP_CA_NAME_MAX-1, optlen));
 		if (val < 0)
 			return -EFAULT;
@@ -3056,7 +3056,7 @@ static int do_tcp_setsockopt(struct sock *sk, int level,
 		if (optlen < 1)
 			return -EINVAL;
 
-		val = strncpy_from_user(name, optval,
+		val = strncpy_from_sockptr(name, optval,
 					min_t(long, TCP_ULP_NAME_MAX - 1,
 					      optlen));
 		if (val < 0)
@@ -3079,7 +3079,7 @@ static int do_tcp_setsockopt(struct sock *sk, int level,
 		    optlen != TCP_FASTOPEN_KEY_BUF_LENGTH)
 			return -EINVAL;
 
-		if (copy_from_user(key, optval, optlen))
+		if (copy_from_sockptr(key, optval, optlen))
 			return -EFAULT;
 
 		if (optlen = TCP_FASTOPEN_KEY_BUF_LENGTH)
@@ -3095,7 +3095,7 @@ static int do_tcp_setsockopt(struct sock *sk, int level,
 	if (optlen < sizeof(int))
 		return -EINVAL;
 
-	if (get_user(val, (int __user *)optval))
+	if (copy_from_sockptr(&val, optval, sizeof(val)))
 		return -EFAULT;
 
 	lock_sock(sk);
@@ -3174,9 +3174,7 @@ static int do_tcp_setsockopt(struct sock *sk, int level,
 		if (!tp->repair)
 			err = -EINVAL;
 		else if (sk->sk_state = TCP_ESTABLISHED)
-			err = tcp_repair_options_est(sk,
-					(struct tcp_repair_opt __user *)optval,
-					optlen);
+			err = tcp_repair_options_est(sk, optval, optlen);
 		else
 			err = -EPERM;
 		break;
@@ -3249,8 +3247,7 @@ static int do_tcp_setsockopt(struct sock *sk, int level,
 #ifdef CONFIG_TCP_MD5SIG
 	case TCP_MD5SIG:
 	case TCP_MD5SIG_EXT:
-		err = tp->af_specific->md5_parse(sk, optname,
-						 USER_SOCKPTR(optval), optlen);
+		err = tp->af_specific->md5_parse(sk, optname, optval, optlen);
 		break;
 #endif
 	case TCP_USER_TIMEOUT:
@@ -3334,7 +3331,8 @@ int tcp_setsockopt(struct sock *sk, int level, int optname, char __user *optval,
 	if (level != SOL_TCP)
 		return icsk->icsk_af_ops->setsockopt(sk, level, optname,
 						     optval, optlen);
-	return do_tcp_setsockopt(sk, level, optname, optval, optlen);
+	return do_tcp_setsockopt(sk, level, optname, USER_SOCKPTR(optval),
+				 optlen);
 }
 EXPORT_SYMBOL(tcp_setsockopt);
 
-- 
2.27.0

WARNING: multiple messages have this Message-ID (diff)
From: Christoph Hellwig <hch@lst.de>
To: "David S. Miller" <davem@davemloft.net>,
	Jakub Kicinski <kuba@kernel.org>,
	Alexei Starovoitov <ast@kernel.org>,
	Daniel Borkmann <daniel@iogearbox.net>,
	Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>,
	Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>,
	Eric Dumazet <edumazet@google.com>
Cc: linux-s390@vger.kernel.org, rds-devel@oss.oracle.com,
	linux-decnet-user@lists.sourceforge.net,
	tipc-discussion@lists.sourceforge.net, linux-x25@vger.kernel.org,
	dccp@vger.kernel.org, netdev@vger.kernel.org,
	bridge@lists.linux-foundation.org, linux-kernel@vger.kernel.org,
	linux-can@vger.kernel.org, lvs-devel@vger.kernel.org,
	linux-bluetooth@vger.kernel.org, linux-sctp@vger.kernel.org,
	coreteam@netfilter.org, netfilter-devel@vger.kernel.org,
	linux-crypto@vger.kernel.org, linux-hams@vger.kernel.org,
	bpf@vger.kernel.org, linux-wpan@vger.kernel.org,
	linux-afs@lists.infradead.org, mptcp@lists.01.org
Subject: [Bridge] [PATCH 24/26] net/tcp: switch do_tcp_setsockopt to sockptr_t
Date: Thu, 23 Jul 2020 08:09:06 +0200	[thread overview]
Message-ID: <20200723060908.50081-25-hch@lst.de> (raw)
In-Reply-To: <20200723060908.50081-1-hch@lst.de>

Pass a sockptr_t to prepare for set_fs-less handling of the kernel
pointer from bpf-cgroup.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 net/ipv4/tcp.c | 34 ++++++++++++++++------------------
 1 file changed, 16 insertions(+), 18 deletions(-)

diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c
index 49bf15c27deac7..71cbc61c335f71 100644
--- a/net/ipv4/tcp.c
+++ b/net/ipv4/tcp.c
@@ -2764,7 +2764,7 @@ static inline bool tcp_can_repair_sock(const struct sock *sk)
 		(sk->sk_state != TCP_LISTEN);
 }
 
-static int tcp_repair_set_window(struct tcp_sock *tp, char __user *optbuf, int len)
+static int tcp_repair_set_window(struct tcp_sock *tp, sockptr_t optbuf, int len)
 {
 	struct tcp_repair_window opt;
 
@@ -2774,7 +2774,7 @@ static int tcp_repair_set_window(struct tcp_sock *tp, char __user *optbuf, int l
 	if (len != sizeof(opt))
 		return -EINVAL;
 
-	if (copy_from_user(&opt, optbuf, sizeof(opt)))
+	if (copy_from_sockptr(&opt, optbuf, sizeof(opt)))
 		return -EFAULT;
 
 	if (opt.max_window < opt.snd_wnd)
@@ -2796,17 +2796,17 @@ static int tcp_repair_set_window(struct tcp_sock *tp, char __user *optbuf, int l
 	return 0;
 }
 
-static int tcp_repair_options_est(struct sock *sk,
-		struct tcp_repair_opt __user *optbuf, unsigned int len)
+static int tcp_repair_options_est(struct sock *sk, sockptr_t optbuf,
+		unsigned int len)
 {
 	struct tcp_sock *tp = tcp_sk(sk);
 	struct tcp_repair_opt opt;
 
 	while (len >= sizeof(opt)) {
-		if (copy_from_user(&opt, optbuf, sizeof(opt)))
+		if (copy_from_sockptr(&opt, optbuf, sizeof(opt)))
 			return -EFAULT;
 
-		optbuf++;
+		sockptr_advance(optbuf, sizeof(opt));
 		len -= sizeof(opt);
 
 		switch (opt.opt_code) {
@@ -3020,8 +3020,8 @@ EXPORT_SYMBOL(tcp_sock_set_keepcnt);
 /*
  *	Socket option code for TCP.
  */
-static int do_tcp_setsockopt(struct sock *sk, int level,
-		int optname, char __user *optval, unsigned int optlen)
+static int do_tcp_setsockopt(struct sock *sk, int level, int optname,
+		sockptr_t optval, unsigned int optlen)
 {
 	struct tcp_sock *tp = tcp_sk(sk);
 	struct inet_connection_sock *icsk = inet_csk(sk);
@@ -3037,7 +3037,7 @@ static int do_tcp_setsockopt(struct sock *sk, int level,
 		if (optlen < 1)
 			return -EINVAL;
 
-		val = strncpy_from_user(name, optval,
+		val = strncpy_from_sockptr(name, optval,
 					min_t(long, TCP_CA_NAME_MAX-1, optlen));
 		if (val < 0)
 			return -EFAULT;
@@ -3056,7 +3056,7 @@ static int do_tcp_setsockopt(struct sock *sk, int level,
 		if (optlen < 1)
 			return -EINVAL;
 
-		val = strncpy_from_user(name, optval,
+		val = strncpy_from_sockptr(name, optval,
 					min_t(long, TCP_ULP_NAME_MAX - 1,
 					      optlen));
 		if (val < 0)
@@ -3079,7 +3079,7 @@ static int do_tcp_setsockopt(struct sock *sk, int level,
 		    optlen != TCP_FASTOPEN_KEY_BUF_LENGTH)
 			return -EINVAL;
 
-		if (copy_from_user(key, optval, optlen))
+		if (copy_from_sockptr(key, optval, optlen))
 			return -EFAULT;
 
 		if (optlen == TCP_FASTOPEN_KEY_BUF_LENGTH)
@@ -3095,7 +3095,7 @@ static int do_tcp_setsockopt(struct sock *sk, int level,
 	if (optlen < sizeof(int))
 		return -EINVAL;
 
-	if (get_user(val, (int __user *)optval))
+	if (copy_from_sockptr(&val, optval, sizeof(val)))
 		return -EFAULT;
 
 	lock_sock(sk);
@@ -3174,9 +3174,7 @@ static int do_tcp_setsockopt(struct sock *sk, int level,
 		if (!tp->repair)
 			err = -EINVAL;
 		else if (sk->sk_state == TCP_ESTABLISHED)
-			err = tcp_repair_options_est(sk,
-					(struct tcp_repair_opt __user *)optval,
-					optlen);
+			err = tcp_repair_options_est(sk, optval, optlen);
 		else
 			err = -EPERM;
 		break;
@@ -3249,8 +3247,7 @@ static int do_tcp_setsockopt(struct sock *sk, int level,
 #ifdef CONFIG_TCP_MD5SIG
 	case TCP_MD5SIG:
 	case TCP_MD5SIG_EXT:
-		err = tp->af_specific->md5_parse(sk, optname,
-						 USER_SOCKPTR(optval), optlen);
+		err = tp->af_specific->md5_parse(sk, optname, optval, optlen);
 		break;
 #endif
 	case TCP_USER_TIMEOUT:
@@ -3334,7 +3331,8 @@ int tcp_setsockopt(struct sock *sk, int level, int optname, char __user *optval,
 	if (level != SOL_TCP)
 		return icsk->icsk_af_ops->setsockopt(sk, level, optname,
 						     optval, optlen);
-	return do_tcp_setsockopt(sk, level, optname, optval, optlen);
+	return do_tcp_setsockopt(sk, level, optname, USER_SOCKPTR(optval),
+				 optlen);
 }
 EXPORT_SYMBOL(tcp_setsockopt);
 
-- 
2.27.0


             reply	other threads:[~2020-07-23  6:09 UTC|newest]

Thread overview: 656+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-23  6:09 Christoph Hellwig [this message]
2020-07-23  6:09 ` [Bridge] [PATCH 24/26] net/tcp: switch do_tcp_setsockopt to sockptr_t Christoph Hellwig
2020-07-23  6:09 ` Christoph Hellwig
2020-07-23  6:09 ` Christoph Hellwig
2020-07-23  6:09 ` Christoph Hellwig
  -- strict thread matches above, loose matches on Subject: below --
2020-08-08 13:54 [MPTCP] Re: [PATCH 25/26] net: pass a sockptr_t into ->setsockopt David Laight
2020-08-08 13:54 ` [Bridge] " David Laight
2020-08-08 13:54 ` David Laight
2020-08-08 13:54 ` David Laight
2020-08-08 13:54 ` David Laight
2020-08-08 13:54 ` David Laight
2020-08-08 13:54 ` David Laight
2020-08-07 18:29 [MPTCP] " Eric Dumazet
2020-08-07 18:29 ` [Bridge] " Eric Dumazet
2020-08-07 18:29 ` Eric Dumazet
2020-08-07 18:29 ` Eric Dumazet
2020-08-07 18:29 ` Eric Dumazet
2020-08-07 18:29 ` Eric Dumazet
2020-08-07 18:29 ` Eric Dumazet
2020-08-07  9:18 [MPTCP] " David Laight
2020-08-07  9:18 ` [Bridge] " David Laight
2020-08-07  9:18 ` David Laight
2020-08-07  9:18 ` David Laight
2020-08-07  9:18 ` David Laight
2020-08-07  9:18 ` David Laight
2020-08-07  9:18 ` David Laight
2020-08-07  7:21 [MPTCP] " Christoph Hellwig
2020-08-07  7:21 ` [Bridge] " Christoph Hellwig
2020-08-07  7:21 ` Christoph Hellwig
2020-08-07  7:21 ` Christoph Hellwig
2020-08-07  7:21 ` Christoph Hellwig
2020-08-07  7:21 ` Christoph Hellwig
2020-08-07  7:21 ` Christoph Hellwig
2020-08-06 22:21 [MPTCP] " Eric Dumazet
2020-08-06 22:21 ` [Bridge] " Eric Dumazet
2020-08-06 22:21 ` Eric Dumazet
2020-08-06 22:21 ` Eric Dumazet
2020-08-06 22:21 ` Eric Dumazet
2020-07-28  8:17 [MPTCP] Re: [PATCH 12/26] netfilter: switch nf_setsockopt to sockptr_t Jason A. Donenfeld
2020-07-28  8:17 ` [Bridge] " Jason A. Donenfeld
2020-07-28  8:17 ` Jason A. Donenfeld
2020-07-28  8:17 ` Jason A. Donenfeld
2020-07-28  8:17 ` Jason A. Donenfeld
2020-07-28  8:17 ` Jason A. Donenfeld
2020-07-28  8:17 ` Jason A. Donenfeld
2020-07-28  8:17 ` Jason A. Donenfeld
2020-07-28  8:17 ` Jason A. Donenfeld
2020-07-28  8:07 [MPTCP] " David Laight
2020-07-28  8:07 ` [Bridge] " David Laight
2020-07-28  8:07 ` David Laight
2020-07-28  8:07 ` David Laight
2020-07-28  8:07 ` David Laight
2020-07-28  8:07 ` David Laight
2020-07-27 18:22 [MPTCP] Re: [PATCH 19/26] net/ipv6: switch ipv6_flowlabel_opt " Ido Schimmel
2020-07-27 18:22 ` [Bridge] " Ido Schimmel
2020-07-27 18:22 ` Ido Schimmel
2020-07-27 18:22 ` Ido Schimmel
2020-07-27 18:22 ` Ido Schimmel
2020-07-27 18:22 ` Ido Schimmel
2020-07-27 16:23 [MPTCP] Re: [PATCH 12/26] netfilter: switch nf_setsockopt " Christoph Hellwig
2020-07-27 16:23 ` [Bridge] " Christoph Hellwig
2020-07-27 16:23 ` Christoph Hellwig
2020-07-27 16:23 ` Christoph Hellwig
2020-07-27 16:23 ` Christoph Hellwig
2020-07-27 16:23 ` Christoph Hellwig
2020-07-27 16:21 [MPTCP] " Jason A. Donenfeld
2020-07-27 16:21 ` [Bridge] " Jason A. Donenfeld
2020-07-27 16:21 ` Jason A. Donenfeld
2020-07-27 16:21 ` Jason A. Donenfeld
2020-07-27 16:21 ` Jason A. Donenfeld
2020-07-27 16:21 ` Jason A. Donenfeld
2020-07-27 16:16 [MPTCP] " Jason A. Donenfeld
2020-07-27 16:16 ` [Bridge] " Jason A. Donenfeld
2020-07-27 16:16 ` Jason A. Donenfeld
2020-07-27 16:16 ` Jason A. Donenfeld
2020-07-27 16:16 ` Jason A. Donenfeld
2020-07-27 16:16 ` Jason A. Donenfeld
2020-07-27 16:16 ` Jason A. Donenfeld
2020-07-27 16:16 [MPTCP] " Christoph Hellwig
2020-07-27 16:16 ` [Bridge] " Christoph Hellwig
2020-07-27 16:16 ` Christoph Hellwig
2020-07-27 16:16 ` Christoph Hellwig
2020-07-27 16:16 ` Christoph Hellwig
2020-07-27 16:16 ` Christoph Hellwig
2020-07-27 16:16 ` Christoph Hellwig
2020-07-27 16:15 [MPTCP] Re: [PATCH 19/26] net/ipv6: switch ipv6_flowlabel_opt " Christoph Hellwig
2020-07-27 16:15 ` [Bridge] " Christoph Hellwig
2020-07-27 16:15 ` Christoph Hellwig
2020-07-27 16:15 ` Christoph Hellwig
2020-07-27 16:15 ` Christoph Hellwig
2020-07-27 16:15 ` Christoph Hellwig
2020-07-27 16:15 ` Christoph Hellwig
2020-07-27 15:06 [MPTCP] Re: [PATCH 12/26] netfilter: switch nf_setsockopt " Christoph Hellwig
2020-07-27 15:06 ` [Bridge] " Christoph Hellwig
2020-07-27 15:06 ` Christoph Hellwig
2020-07-27 15:06 ` Christoph Hellwig
2020-07-27 15:06 ` Christoph Hellwig
2020-07-27 15:06 ` Christoph Hellwig
2020-07-27 15:06 ` Christoph Hellwig
2020-07-27 15:03 [MPTCP] " Jason A. Donenfeld
2020-07-27 15:03 ` [Bridge] " Jason A. Donenfeld
2020-07-27 15:03 ` Jason A. Donenfeld
2020-07-27 15:03 ` Jason A. Donenfeld
2020-07-27 15:03 ` Jason A. Donenfeld
2020-07-27 15:03 ` Jason A. Donenfeld
2020-07-27 14:09 [MPTCP] Re: get rid of the address_space override in setsockopt v2 David Laight
2020-07-27 14:09 ` [Bridge] " David Laight
2020-07-27 14:09 ` David Laight
2020-07-27 14:09 ` David Laight
2020-07-27 14:09 ` David Laight
2020-07-27 14:09 ` David Laight
2020-07-27 13:33 [MPTCP] Re: [PATCH 19/26] net/ipv6: switch ipv6_flowlabel_opt to sockptr_t Ido Schimmel
2020-07-27 13:33 ` [Bridge] " Ido Schimmel
2020-07-27 13:33 ` Ido Schimmel
2020-07-27 13:33 ` Ido Schimmel
2020-07-27 13:33 ` Ido Schimmel
2020-07-27 13:33 ` Ido Schimmel
2020-07-27 13:24 [MPTCP] " David Laight
2020-07-27 13:24 ` [Bridge] " David Laight
2020-07-27 13:24 ` David Laight
2020-07-27 13:24 ` David Laight
2020-07-27 13:24 ` David Laight
2020-07-27 13:24 ` David Laight
2020-07-27 13:00 [MPTCP] " Christoph Hellwig
2020-07-27 13:00 ` [Bridge] " Christoph Hellwig
2020-07-27 13:00 ` Christoph Hellwig
2020-07-27 13:00 ` Christoph Hellwig
2020-07-27 13:00 ` Christoph Hellwig
2020-07-27 13:00 ` Christoph Hellwig
2020-07-27 13:00 ` Christoph Hellwig
2020-07-27 12:15 [MPTCP] " Ido Schimmel
2020-07-27 12:15 ` [Bridge] " Ido Schimmel
2020-07-27 12:15 ` Ido Schimmel
2020-07-27 12:15 ` Ido Schimmel
2020-07-27 12:15 ` Ido Schimmel
2020-07-27 12:15 ` Ido Schimmel
2020-07-26  7:46 [MPTCP] Re: get rid of the address_space override in setsockopt v2 David Miller
2020-07-26  7:46 ` [Bridge] " David Miller
2020-07-26  7:46 ` David Miller
2020-07-26  7:46 ` David Miller
2020-07-26  7:46 ` David Miller
2020-07-23 16:44 [MPTCP] Re: [PATCH 04/26] net: add a new sockptr_t type Christoph Hellwig
2020-07-23 16:44 ` [Bridge] " Christoph Hellwig
2020-07-23 16:44 ` Christoph Hellwig
2020-07-23 16:44 ` Christoph Hellwig
2020-07-23 16:44 ` Christoph Hellwig
2020-07-23 16:44 ` Christoph Hellwig
2020-07-23 16:44 ` Christoph Hellwig
2020-07-23 16:40 [MPTCP] " Eric Dumazet
2020-07-23 16:40 ` [Bridge] " Eric Dumazet
2020-07-23 16:40 ` Eric Dumazet
2020-07-23 16:40 ` Eric Dumazet
2020-07-23 16:40 ` Eric Dumazet
2020-07-23 16:40 ` Eric Dumazet
2020-07-23 16:40 ` Eric Dumazet
2020-07-23 14:56 [MPTCP] Re: [PATCH 03/26] bpfilter: reject kernel addresses David Laight
2020-07-23 14:56 ` [Bridge] " David Laight
2020-07-23 14:56 ` David Laight
2020-07-23 14:56 ` David Laight
2020-07-23 14:56 ` David Laight
2020-07-23 14:56 ` David Laight
2020-07-23 14:44 [MPTCP] " 'Christoph Hellwig'
2020-07-23 14:44 ` [Bridge] " 'Christoph Hellwig'
2020-07-23 14:44 ` 'Christoph Hellwig'
2020-07-23 14:44 ` 'Christoph Hellwig'
2020-07-23 14:44 ` 'Christoph Hellwig'
2020-07-23 14:44 ` 'Christoph Hellwig'
2020-07-23 14:44 ` 'Christoph Hellwig'
2020-07-23 14:42 [MPTCP] " David Laight
2020-07-23 14:42 ` [Bridge] " David Laight
2020-07-23 14:42 ` David Laight
2020-07-23 14:42 ` David Laight
2020-07-23 14:42 ` David Laight
2020-07-23 14:42 ` David Laight
2020-07-23 11:44 [MPTCP] Re: [PATCH 13/26] bpfilter: switch bpfilter_ip_set_sockopt to sockptr_t 'Christoph Hellwig'
2020-07-23 11:44 ` [Bridge] " 'Christoph Hellwig'
2020-07-23 11:44 ` 'Christoph Hellwig'
2020-07-23 11:44 ` 'Christoph Hellwig'
2020-07-23 11:44 ` 'Christoph Hellwig'
2020-07-23 11:44 ` 'Christoph Hellwig'
2020-07-23 11:44 ` 'Christoph Hellwig'
2020-07-23 11:16 [MPTCP] " David Laight
2020-07-23 11:16 ` [Bridge] " David Laight
2020-07-23 11:16 ` David Laight
2020-07-23 11:16 ` David Laight
2020-07-23 11:16 ` David Laight
2020-07-23 11:16 ` David Laight
2020-07-23 11:14 [MPTCP] Re: [PATCH 01/26] bpfilter: fix up a sparse annotation Luc Van Oostenryck
2020-07-23 11:14 ` [Bridge] " Luc Van Oostenryck
2020-07-23 11:14 ` Luc Van Oostenryck
2020-07-23 11:14 ` Luc Van Oostenryck
2020-07-23 11:14 ` Luc Van Oostenryck
2020-07-23 11:14 ` Luc Van Oostenryck
2020-07-23  8:39 [MPTCP] Re: [PATCH 25/26] net: pass a sockptr_t into ->setsockopt Matthieu Baerts
2020-07-23  8:39 ` [Bridge] [MPTCP] " Matthieu Baerts
2020-07-23  8:39 ` Matthieu Baerts
2020-07-23  8:39 ` Matthieu Baerts
2020-07-23  8:39 ` Matthieu Baerts
2020-07-23  8:39 [MPTCP] Re: [PATCH 08/26] net: switch sock_set_timeout to sockptr_t Matthieu Baerts
2020-07-23  8:39 ` [Bridge] [MPTCP] " Matthieu Baerts
2020-07-23  8:39 ` Matthieu Baerts
2020-07-23  8:39 ` Matthieu Baerts
2020-07-23  8:39 ` Matthieu Baerts
2020-07-23  6:09 [MPTCP] [PATCH 26/26] net: optimize the sockptr_t for unified kernel/user address spaces Christoph Hellwig
2020-07-23  6:09 ` [Bridge] " Christoph Hellwig
2020-07-23  6:09 ` Christoph Hellwig
2020-07-23  6:09 ` Christoph Hellwig
2020-07-23  6:09 ` Christoph Hellwig
2020-07-23  6:09 [MPTCP] [PATCH 25/26] net: pass a sockptr_t into ->setsockopt Christoph Hellwig
2020-07-23  6:09 ` [Bridge] " Christoph Hellwig
2020-07-23  6:09 ` Christoph Hellwig
2020-07-23  6:09 ` Christoph Hellwig
2020-07-23  6:09 ` Christoph Hellwig
2020-07-23  6:09 [MPTCP] [PATCH 23/26] net/tcp: switch ->md5_parse to sockptr_t Christoph Hellwig
2020-07-23  6:09 ` [Bridge] " Christoph Hellwig
2020-07-23  6:09 ` Christoph Hellwig
2020-07-23  6:09 ` Christoph Hellwig
2020-07-23  6:09 ` Christoph Hellwig
2020-07-23  6:09 [MPTCP] [PATCH 22/26] net/udp: switch udp_lib_setsockopt " Christoph Hellwig
2020-07-23  6:09 ` [Bridge] " Christoph Hellwig
2020-07-23  6:09 ` Christoph Hellwig
2020-07-23  6:09 ` Christoph Hellwig
2020-07-23  6:09 ` Christoph Hellwig
2020-07-23  6:09 [MPTCP] [PATCH 21/26] net/ipv6: switch do_ipv6_setsockopt " Christoph Hellwig
2020-07-23  6:09 ` [Bridge] " Christoph Hellwig
2020-07-23  6:09 ` Christoph Hellwig
2020-07-23  6:09 ` Christoph Hellwig
2020-07-23  6:09 ` Christoph Hellwig
2020-07-23  6:09 [MPTCP] [PATCH 20/26] net/ipv6: factor out a ipv6_set_opt_hdr helper Christoph Hellwig
2020-07-23  6:09 ` [Bridge] " Christoph Hellwig
2020-07-23  6:09 ` Christoph Hellwig
2020-07-23  6:09 ` Christoph Hellwig
2020-07-23  6:09 ` Christoph Hellwig
2020-07-23  6:09 [MPTCP] [PATCH 19/26] net/ipv6: switch ipv6_flowlabel_opt to sockptr_t Christoph Hellwig
2020-07-23  6:09 ` [Bridge] " Christoph Hellwig
2020-07-23  6:09 ` Christoph Hellwig
2020-07-23  6:09 ` Christoph Hellwig
2020-07-23  6:09 ` Christoph Hellwig
2020-07-23  6:09 ` Christoph Hellwig
2020-07-23  6:09 [MPTCP] [PATCH 18/26] net/ipv6: split up ipv6_flowlabel_opt Christoph Hellwig
2020-07-23  6:09 ` [Bridge] " Christoph Hellwig
2020-07-23  6:09 ` Christoph Hellwig
2020-07-23  6:09 ` Christoph Hellwig
2020-07-23  6:09 ` Christoph Hellwig
2020-07-23  6:08 [MPTCP] [PATCH 17/26] net/ipv6: switch ip6_mroute_setsockopt to sockptr_t Christoph Hellwig
2020-07-23  6:08 ` [Bridge] " Christoph Hellwig
2020-07-23  6:08 ` Christoph Hellwig
2020-07-23  6:08 ` Christoph Hellwig
2020-07-23  6:08 ` Christoph Hellwig
2020-07-23  6:08 [MPTCP] [PATCH 16/26] net/ipv4: switch do_ip_setsockopt " Christoph Hellwig
2020-07-23  6:08 ` [Bridge] " Christoph Hellwig
2020-07-23  6:08 ` Christoph Hellwig
2020-07-23  6:08 ` Christoph Hellwig
2020-07-23  6:08 ` Christoph Hellwig
2020-07-23  6:08 [MPTCP] [PATCH 15/26] net/ipv4: merge ip_options_get and ip_options_get_from_user Christoph Hellwig
2020-07-23  6:08 ` [Bridge] " Christoph Hellwig
2020-07-23  6:08 ` Christoph Hellwig
2020-07-23  6:08 ` Christoph Hellwig
2020-07-23  6:08 ` Christoph Hellwig
2020-07-23  6:08 [MPTCP] [PATCH 14/26] net/ipv4: switch ip_mroute_setsockopt to sockptr_t Christoph Hellwig
2020-07-23  6:08 ` [Bridge] " Christoph Hellwig
2020-07-23  6:08 ` Christoph Hellwig
2020-07-23  6:08 ` Christoph Hellwig
2020-07-23  6:08 ` Christoph Hellwig
2020-07-23  6:08 [MPTCP] [PATCH 13/26] bpfilter: switch bpfilter_ip_set_sockopt " Christoph Hellwig
2020-07-23  6:08 ` [Bridge] " Christoph Hellwig
2020-07-23  6:08 ` Christoph Hellwig
2020-07-23  6:08 ` Christoph Hellwig
2020-07-23  6:08 ` Christoph Hellwig
2020-07-23  6:08 [MPTCP] [PATCH 12/26] netfilter: switch nf_setsockopt " Christoph Hellwig
2020-07-23  6:08 ` [Bridge] " Christoph Hellwig
2020-07-23  6:08 ` Christoph Hellwig
2020-07-23  6:08 ` Christoph Hellwig
2020-07-23  6:08 ` Christoph Hellwig
2020-07-23  6:08 ` Christoph Hellwig
2020-07-23  6:08 [MPTCP] [PATCH 11/26] netfilter: switch xt_copy_counters " Christoph Hellwig
2020-07-23  6:08 ` [Bridge] " Christoph Hellwig
2020-07-23  6:08 ` Christoph Hellwig
2020-07-23  6:08 ` Christoph Hellwig
2020-07-23  6:08 ` Christoph Hellwig
2020-07-23  6:08 ` Christoph Hellwig
2020-07-23  6:08 [MPTCP] [PATCH 10/26] netfilter: remove the unused user argument to do_update_counters Christoph Hellwig
2020-07-23  6:08 ` [Bridge] " Christoph Hellwig
2020-07-23  6:08 ` Christoph Hellwig
2020-07-23  6:08 ` Christoph Hellwig
2020-07-23  6:08 ` Christoph Hellwig
2020-07-23  6:08 ` Christoph Hellwig
2020-07-23  6:08 [MPTCP] [PATCH 09/26] net/xfrm: switch xfrm_user_policy to sockptr_t Christoph Hellwig
2020-07-23  6:08 ` [Bridge] " Christoph Hellwig
2020-07-23  6:08 ` Christoph Hellwig
2020-07-23  6:08 ` Christoph Hellwig
2020-07-23  6:08 ` Christoph Hellwig
2020-07-23  6:08 [MPTCP] [PATCH 08/26] net: switch sock_set_timeout " Christoph Hellwig
2020-07-23  6:08 ` [Bridge] " Christoph Hellwig
2020-07-23  6:08 ` Christoph Hellwig
2020-07-23  6:08 ` Christoph Hellwig
2020-07-23  6:08 ` Christoph Hellwig
2020-07-23  6:08 [MPTCP] [PATCH 07/26] " Christoph Hellwig
2020-07-23  6:08 ` [Bridge] " Christoph Hellwig
2020-07-23  6:08 ` Christoph Hellwig
2020-07-23  6:08 ` Christoph Hellwig
2020-07-23  6:08 ` Christoph Hellwig
2020-07-23  6:08 [MPTCP] [PATCH 06/26] net: switch sock_setbindtodevice " Christoph Hellwig
2020-07-23  6:08 ` [Bridge] " Christoph Hellwig
2020-07-23  6:08 ` Christoph Hellwig
2020-07-23  6:08 ` Christoph Hellwig
2020-07-23  6:08 ` Christoph Hellwig
2020-07-23  6:08 [MPTCP] [PATCH 05/26] net: switch copy_bpf_fprog_from_user " Christoph Hellwig
2020-07-23  6:08 ` [Bridge] " Christoph Hellwig
2020-07-23  6:08 ` Christoph Hellwig
2020-07-23  6:08 ` Christoph Hellwig
2020-07-23  6:08 ` Christoph Hellwig
2020-07-23  6:08 [MPTCP] [PATCH 03/26] bpfilter: reject kernel addresses Christoph Hellwig
2020-07-23  6:08 ` [Bridge] " Christoph Hellwig
2020-07-23  6:08 ` Christoph Hellwig
2020-07-23  6:08 ` Christoph Hellwig
2020-07-23  6:08 ` Christoph Hellwig
2020-07-23  6:08 [MPTCP] [PATCH 02/26] net/bpfilter: split __bpfilter_process_sockopt Christoph Hellwig
2020-07-23  6:08 ` [Bridge] " Christoph Hellwig
2020-07-23  6:08 ` Christoph Hellwig
2020-07-23  6:08 ` Christoph Hellwig
2020-07-23  6:08 ` Christoph Hellwig
2020-07-23  6:08 [MPTCP] [PATCH 01/26] bpfilter: fix up a sparse annotation Christoph Hellwig
2020-07-23  6:08 ` [Bridge] " Christoph Hellwig
2020-07-23  6:08 ` Christoph Hellwig
2020-07-23  6:08 ` Christoph Hellwig
2020-07-23  6:08 ` Christoph Hellwig
2020-07-23  6:08 [MPTCP] get rid of the address_space override in setsockopt v2 Christoph Hellwig
2020-07-23  6:08 ` [Bridge] " Christoph Hellwig
2020-07-23  6:08 ` Christoph Hellwig
2020-07-23  6:08 ` Christoph Hellwig
2020-07-23  6:08 ` Christoph Hellwig
2020-07-23  6:08 ` [MPTCP] [PATCH 04/26] net: add a new sockptr_t type Christoph Hellwig
2020-07-23  6:08   ` [Bridge] " Christoph Hellwig
2020-07-23  6:08   ` Christoph Hellwig
2020-07-23  6:08   ` Christoph Hellwig
2020-07-23  6:08   ` Christoph Hellwig
2020-07-23 15:40   ` Jan Engelhardt
2020-07-23 15:40     ` [Bridge] " Jan Engelhardt
2020-07-23 15:40     ` Jan Engelhardt
2020-07-23 15:40     ` Jan Engelhardt
2020-07-23 15:40     ` Jan Engelhardt
2020-07-23 15:40     ` Jan Engelhardt
2020-07-24 22:43 ` [MPTCP] Re: get rid of the address_space override in setsockopt v2 David Miller
2020-07-24 22:43   ` [Bridge] " David Miller
2020-07-24 22:43   ` David Miller
2020-07-24 22:43   ` David Miller
2020-07-24 22:43   ` David Miller
2020-07-26  7:03   ` [MPTCP] " Christoph Hellwig
2020-07-26  7:03     ` [Bridge] " Christoph Hellwig
2020-07-26  7:03     ` Christoph Hellwig
2020-07-26  7:03     ` Christoph Hellwig
2020-07-26  7:03     ` Christoph Hellwig
2020-07-26  7:08     ` Andreas Schwab
2020-07-26  7:18       ` [Bridge] " Andreas Schwab
2020-07-26  7:08       ` Andreas Schwab
2020-07-26  7:08       ` Andreas Schwab
2020-07-27  9:51   ` [MPTCP] " David Laight
2020-07-27  9:51     ` [Bridge] " David Laight
2020-07-27  9:51     ` David Laight
2020-07-27  9:51     ` David Laight
2020-07-27  9:51     ` David Laight
2020-07-27  9:51     ` David Laight
2020-07-27 13:48     ` Al Viro
2020-07-27 13:48       ` [Bridge] " Al Viro
2020-07-27 13:48       ` Al Viro
2020-07-27 13:48       ` Al Viro
2020-07-27 13:48       ` Al Viro
2020-07-27 13:48       ` Al Viro
2020-07-22 17:09 [MPTCP] Re: get rid of the address_space override in setsockopt Alexei Starovoitov
2020-07-22 17:09 ` [Bridge] " Alexei Starovoitov
2020-07-22 17:09 ` Alexei Starovoitov
2020-07-22 17:09 ` Alexei Starovoitov
2020-07-22 17:09 ` Alexei Starovoitov
2020-07-22 17:09 ` Alexei Starovoitov
2020-07-22  8:26 [MPTCP] Re: [PATCH 24/24] net: pass a sockptr_t into ->setsockopt Matthieu Baerts
2020-07-22  8:26 ` [Bridge] [MPTCP] " Matthieu Baerts
2020-07-22  8:26 ` Matthieu Baerts
2020-07-22  8:26 ` Matthieu Baerts
2020-07-22  8:26 ` Matthieu Baerts
2020-07-22  8:26 ` Matthieu Baerts
2020-07-22  8:21 [MPTCP] Re: get rid of the address_space override in setsockopt David Laight
2020-07-22  8:21 ` [Bridge] " David Laight
2020-07-22  8:21 ` David Laight
2020-07-22  8:21 ` David Laight
2020-07-22  8:21 ` David Laight
2020-07-22  8:21 ` David Laight
2020-07-22  8:07 [MPTCP] " 'Christoph Hellwig'
2020-07-22  8:07 ` [Bridge] " 'Christoph Hellwig'
2020-07-22  8:07 ` 'Christoph Hellwig'
2020-07-22  8:07 ` 'Christoph Hellwig'
2020-07-22  8:07 ` 'Christoph Hellwig'
2020-07-22  8:07 ` 'Christoph Hellwig'
2020-07-22  8:07 ` 'Christoph Hellwig'
2020-07-22  8:06 [MPTCP] " 'Christoph Hellwig'
2020-07-22  8:06 ` [Bridge] " 'Christoph Hellwig'
2020-07-22  8:06 ` 'Christoph Hellwig'
2020-07-22  8:06 ` 'Christoph Hellwig'
2020-07-22  8:06 ` 'Christoph Hellwig'
2020-07-22  8:06 ` 'Christoph Hellwig'
2020-07-22  8:06 ` 'Christoph Hellwig'
2020-07-22  8:01 [MPTCP] Re: [PATCH 12/24] bpfilter: switch bpfilter_ip_set_sockopt to sockptr_t 'Christoph Hellwig'
2020-07-22  8:01 ` [Bridge] " 'Christoph Hellwig'
2020-07-22  8:01 ` 'Christoph Hellwig'
2020-07-22  8:01 ` 'Christoph Hellwig'
2020-07-22  8:01 ` 'Christoph Hellwig'
2020-07-22  8:01 ` 'Christoph Hellwig'
2020-07-22  8:01 ` 'Christoph Hellwig'
2020-07-22  8:00 [MPTCP] " 'Christoph Hellwig'
2020-07-22  8:00 ` [Bridge] " 'Christoph Hellwig'
2020-07-22  8:00 ` 'Christoph Hellwig'
2020-07-22  8:00 ` 'Christoph Hellwig'
2020-07-22  8:00 ` 'Christoph Hellwig'
2020-07-22  8:00 ` 'Christoph Hellwig'
2020-07-22  8:00 ` 'Christoph Hellwig'
2020-07-22  7:56 [MPTCP] Re: get rid of the address_space override in setsockopt Christoph Hellwig
2020-07-22  7:56 ` [Bridge] " Christoph Hellwig
2020-07-22  7:56 ` Christoph Hellwig
2020-07-22  7:56 ` Christoph Hellwig
2020-07-22  7:56 ` Christoph Hellwig
2020-07-22  7:56 ` Christoph Hellwig
2020-07-22  7:56 ` Christoph Hellwig
2020-07-22  7:56 [MPTCP] Re: [PATCH 03/24] net: add a new sockptr_t type Christoph Hellwig
2020-07-22  7:56 ` [Bridge] " Christoph Hellwig
2020-07-22  7:56 ` Christoph Hellwig
2020-07-22  7:56 ` Christoph Hellwig
2020-07-22  7:56 ` Christoph Hellwig
2020-07-22  7:56 ` Christoph Hellwig
2020-07-22  7:56 ` Christoph Hellwig
2020-07-21 10:26 [MPTCP] Re: get rid of the address_space override in setsockopt David Laight
2020-07-21 10:26 ` [Bridge] " David Laight
2020-07-21 10:26 ` David Laight
2020-07-21 10:26 ` David Laight
2020-07-21 10:26 ` David Laight
2020-07-21 10:26 ` David Laight
2020-07-21 10:14 [MPTCP] Re: [PATCH 03/24] net: add a new sockptr_t type David Laight
2020-07-21 10:14 ` [Bridge] " David Laight
2020-07-21 10:14 ` David Laight
2020-07-21 10:14 ` David Laight
2020-07-21 10:14 ` David Laight
2020-07-21 10:14 ` David Laight
2020-07-21  9:55 [MPTCP] " David Laight
2020-07-21  9:55 ` [Bridge] " David Laight
2020-07-21  9:55 ` David Laight
2020-07-21  9:55 ` David Laight
2020-07-21  9:55 ` David Laight
2020-07-21  9:55 ` David Laight
2020-07-21  9:38 [MPTCP] Re: get rid of the address_space override in setsockopt David Laight
2020-07-21  9:38 ` [Bridge] " David Laight
2020-07-21  9:38 ` David Laight
2020-07-21  9:38 ` David Laight
2020-07-21  9:38 ` David Laight
2020-07-21  9:38 ` David Laight
2020-07-21  8:36 [MPTCP] Re: [PATCH 12/24] bpfilter: switch bpfilter_ip_set_sockopt to sockptr_t David Laight
2020-07-21  8:36 ` [Bridge] " David Laight
2020-07-21  8:36 ` David Laight
2020-07-21  8:36 ` David Laight
2020-07-21  8:36 ` David Laight
2020-07-21  8:36 ` David Laight
2020-07-21  5:28 [MPTCP] Re: [PATCH 02/24] bpfilter: fix up a sparse annotation Al Viro
2020-07-21  5:28 ` [Bridge] " Al Viro
2020-07-21  5:28 ` Al Viro
2020-07-21  5:28 ` Al Viro
2020-07-21  5:28 ` Al Viro
2020-07-21  5:28 ` Al Viro
2020-07-21  5:23 [MPTCP] " Christoph Hellwig
2020-07-21  5:23 ` [Bridge] " Christoph Hellwig
2020-07-21  5:23 ` Christoph Hellwig
2020-07-21  5:23 ` Christoph Hellwig
2020-07-21  5:23 ` Christoph Hellwig
2020-07-21  5:23 ` Christoph Hellwig
2020-07-21  5:23 ` Christoph Hellwig
2020-07-21  2:40 [MPTCP] " Luc Van Oostenryck
2020-07-21  2:40 ` [Bridge] " Luc Van Oostenryck
2020-07-21  2:40 ` Luc Van Oostenryck
2020-07-21  2:40 ` Luc Van Oostenryck
2020-07-21  2:40 ` Luc Van Oostenryck
2020-07-21  2:40 ` Luc Van Oostenryck
2020-07-20 23:20 [MPTCP] Re: [PATCH 24/24] net: pass a sockptr_t into ->setsockopt David Miller
2020-07-20 23:20 ` [Bridge] " David Miller
2020-07-20 23:20 ` David Miller
2020-07-20 23:20 ` David Miller
2020-07-20 23:20 ` David Miller
2020-07-20 23:20 ` David Miller
2020-07-20 20:47 [MPTCP] Re: get rid of the address_space override in setsockopt Alexei Starovoitov
2020-07-20 20:47 ` [Bridge] " Alexei Starovoitov
2020-07-20 20:47 ` Alexei Starovoitov
2020-07-20 20:47 ` Alexei Starovoitov
2020-07-20 20:47 ` Alexei Starovoitov
2020-07-20 20:47 ` Alexei Starovoitov
2020-07-20 17:55 [MPTCP] Re: [PATCH 03/24] net: add a new sockptr_t type Eric Biggers
2020-07-20 17:55 ` [Bridge] " Eric Biggers
2020-07-20 17:55 ` Eric Biggers
2020-07-20 17:55 ` Eric Biggers
2020-07-20 17:55 ` Eric Biggers
2020-07-20 17:55 ` Eric Biggers
2020-07-20 17:43 [MPTCP] Re: get rid of the address_space override in setsockopt Christoph Hellwig
2020-07-20 17:43 ` [Bridge] " Christoph Hellwig
2020-07-20 17:43 ` Christoph Hellwig
2020-07-20 17:43 ` Christoph Hellwig
2020-07-20 17:43 ` Christoph Hellwig
2020-07-20 17:43 ` Christoph Hellwig
2020-07-20 17:43 ` Christoph Hellwig
2020-07-20 17:43 [MPTCP] Re: [PATCH 03/24] net: add a new sockptr_t type Christoph Hellwig
2020-07-20 17:43 ` [Bridge] " Christoph Hellwig
2020-07-20 17:43 ` Christoph Hellwig
2020-07-20 17:43 ` Christoph Hellwig
2020-07-20 17:43 ` Christoph Hellwig
2020-07-20 17:43 ` Christoph Hellwig
2020-07-20 17:43 ` Christoph Hellwig
2020-07-20 16:38 [MPTCP] Re: get rid of the address_space override in setsockopt Eric Biggers
2020-07-20 16:38 ` [Bridge] " Eric Biggers
2020-07-20 16:38 ` Eric Biggers
2020-07-20 16:38 ` Eric Biggers
2020-07-20 16:38 ` Eric Biggers
2020-07-20 16:38 ` Eric Biggers
2020-07-20 16:37 [MPTCP] Re: [PATCH 03/24] net: add a new sockptr_t type Eric Biggers
2020-07-20 16:37 ` [Bridge] " Eric Biggers
2020-07-20 16:37 ` Eric Biggers
2020-07-20 16:37 ` Eric Biggers
2020-07-20 16:37 ` Eric Biggers
2020-07-20 16:37 ` Eric Biggers
2020-07-20 14:19 [MPTCP] Re: [PATCH 24/24] net: pass a sockptr_t into ->setsockopt Stefan Schmidt
2020-07-20 14:19 ` [Bridge] " Stefan Schmidt
2020-07-20 14:19 ` Stefan Schmidt
2020-07-20 14:19 ` Stefan Schmidt
2020-07-20 14:19 ` Stefan Schmidt
2020-07-20 12:47 [MPTCP] " Christoph Hellwig
2020-07-20 12:47 ` [Bridge] " Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 [MPTCP] [PATCH 23/24] net/tcp: switch do_tcp_setsockopt to sockptr_t Christoph Hellwig
2020-07-20 12:47 ` [Bridge] " Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 [MPTCP] [PATCH 22/24] net/tcp: switch ->md5_parse " Christoph Hellwig
2020-07-20 12:47 ` [Bridge] " Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 [MPTCP] [PATCH 21/24] net/udp: switch udp_lib_setsockopt " Christoph Hellwig
2020-07-20 12:47 ` [Bridge] " Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 [MPTCP] [PATCH 20/24] net/ipv6: switch do_ipv6_setsockopt " Christoph Hellwig
2020-07-20 12:47 ` [Bridge] " Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 [MPTCP] [PATCH 19/24] net/ipv6: factor out a ipv6_set_opt_hdr helper Christoph Hellwig
2020-07-20 12:47 ` [Bridge] " Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 [MPTCP] [PATCH 18/24] net/ipv6: switch ipv6_flowlabel_opt to sockptr_t Christoph Hellwig
2020-07-20 12:47 ` [Bridge] " Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 [MPTCP] [PATCH 17/24] net/ipv6: split up ipv6_flowlabel_opt Christoph Hellwig
2020-07-20 12:47 ` [Bridge] " Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 [MPTCP] [PATCH 16/24] net/ipv6: switch ip6_mroute_setsockopt to sockptr_t Christoph Hellwig
2020-07-20 12:47 ` [Bridge] " Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 [MPTCP] [PATCH 15/24] net/ipv4: switch do_ip_setsockopt " Christoph Hellwig
2020-07-20 12:47 ` [Bridge] " Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 [MPTCP] [PATCH 14/24] net/ipv4: merge ip_options_get and ip_options_get_from_user Christoph Hellwig
2020-07-20 12:47 ` [Bridge] " Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 [MPTCP] [PATCH 13/24] net/ipv4: switch ip_mroute_setsockopt to sockptr_t Christoph Hellwig
2020-07-20 12:47 ` [Bridge] " Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 [MPTCP] [PATCH 12/24] bpfilter: switch bpfilter_ip_set_sockopt " Christoph Hellwig
2020-07-20 12:47 ` [Bridge] " Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 [MPTCP] [PATCH 11/24] netfilter: switch nf_setsockopt " Christoph Hellwig
2020-07-20 12:47 ` [Bridge] " Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 [MPTCP] [PATCH 10/24] netfilter: switch xt_copy_counters " Christoph Hellwig
2020-07-20 12:47 ` [Bridge] " Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 [MPTCP] [PATCH 09/24] netfilter: remove the unused user argument to do_update_counters Christoph Hellwig
2020-07-20 12:47 ` [Bridge] " Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 [MPTCP] [PATCH 08/24] net/xfrm: switch xfrm_user_policy to sockptr_t Christoph Hellwig
2020-07-20 12:47 ` [Bridge] " Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 [MPTCP] [PATCH 07/24] net: switch sock_set_timeout " Christoph Hellwig
2020-07-20 12:47 ` [Bridge] " Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 [MPTCP] [PATCH 06/24] " Christoph Hellwig
2020-07-20 12:47 ` [Bridge] " Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 [MPTCP] [PATCH 05/24] net: switch sock_setbindtodevice " Christoph Hellwig
2020-07-20 12:47 ` [Bridge] " Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 [MPTCP] [PATCH 04/24] net: switch copy_bpf_fprog_from_user " Christoph Hellwig
2020-07-20 12:47 ` [Bridge] " Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 [MPTCP] [PATCH 03/24] net: add a new sockptr_t type Christoph Hellwig
2020-07-20 12:47 ` [Bridge] " Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 [MPTCP] [PATCH 02/24] bpfilter: fix up a sparse annotation Christoph Hellwig
2020-07-20 12:47 ` [Bridge] " Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 [MPTCP] [PATCH 01/24] bpfilter: reject kernel addresses Christoph Hellwig
2020-07-20 12:47 ` [Bridge] " Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 [MPTCP] get rid of the address_space override in setsockopt Christoph Hellwig
2020-07-20 12:47 ` [Bridge] " Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig
2020-07-20 12:47 ` Christoph Hellwig

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200723060908.50081-25-hch@lst.de \
    --to=unknown@example.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.