Re: [PATCH mptcp] mptcp: remove tcp ulp setsockopt support

From: Mat Martineau
Date: Mon Dec 06 2021 - 13:44:24 EST


On Mon, 6 Dec 2021, Jakub Kicinski wrote:

On Mon, 6 Dec 2021 07:53:26 -0800 Jakub Kicinski wrote:
On Sun, 5 Dec 2021 20:27:00 +0100 Florian Westphal wrote:
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:

Fallback mode meaning ops are NULL? I'm slightly confused by this
report.

Ah, it's the socket not the ops.

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.

Reported-by: syzbot+1fd9b69cde42967d1add@xxxxxxxxxxxxxxxxxxxxxxxxx
Signed-off-by: Florian Westphal <fw@xxxxxxxxx>

Jakub -

If you could mark this as "Not Applicable" in netdevbpf patchwork, we'll apply it to the mptcp tree and resubmit to netdev with some related patches.

Thanks,

--
Mat Martineau
Intel