| From c76a95ca76c5b679ea865f163c52a6d1efda9181 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Tue, 14 Dec 2021 15:16:01 -0800 |
| Subject: mptcp: remove tcp ulp setsockopt support |
| |
| From: Florian Westphal <fw@strlen.de> |
| |
| [ Upstream commit 404cd9a22150f24acf23a8df2ad0c094ba379f57 ] |
| |
| TCP_ULP setsockopt cannot be used for mptcp because its already |
| used internally to plumb subflow (tcp) sockets to the mptcp layer. |
| |
| syzbot managed to trigger a crash for mptcp connections that are |
| in fallback mode: |
| |
| KASAN: null-ptr-deref in range [0x0000000000000020-0x0000000000000027] |
| CPU: 1 PID: 1083 Comm: syz-executor.3 Not tainted 5.16.0-rc2-syzkaller #0 |
| RIP: 0010:tls_build_proto net/tls/tls_main.c:776 [inline] |
| [..] |
| __tcp_set_ulp net/ipv4/tcp_ulp.c:139 [inline] |
| tcp_set_ulp+0x428/0x4c0 net/ipv4/tcp_ulp.c:160 |
| do_tcp_setsockopt+0x455/0x37c0 net/ipv4/tcp.c:3391 |
| mptcp_setsockopt+0x1b47/0x2400 net/mptcp/sockopt.c:638 |
| |
| Remove support for TCP_ULP setsockopt. |
| |
| Fixes: d9e4c1291810 ("mptcp: only admit explicitly supported sockopt") |
| Reported-by: syzbot+1fd9b69cde42967d1add@syzkaller.appspotmail.com |
| Signed-off-by: Florian Westphal <fw@strlen.de> |
| Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com> |
| Signed-off-by: Jakub Kicinski <kuba@kernel.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| net/mptcp/sockopt.c | 1 - |
| 1 file changed, 1 deletion(-) |
| |
| diff --git a/net/mptcp/sockopt.c b/net/mptcp/sockopt.c |
| index 8c03afac5ca03..4bb305342fcc7 100644 |
| --- a/net/mptcp/sockopt.c |
| +++ b/net/mptcp/sockopt.c |
| @@ -523,7 +523,6 @@ static bool mptcp_supported_sockopt(int level, int optname) |
| case TCP_NODELAY: |
| case TCP_THIN_LINEAR_TIMEOUTS: |
| case TCP_CONGESTION: |
| - case TCP_ULP: |
| case TCP_CORK: |
| case TCP_KEEPIDLE: |
| case TCP_KEEPINTVL: |
| -- |
| 2.33.0 |
| |