• Florian Westphal's avatar
    mptcp: remove tcp ulp setsockopt support · 404cd9a2
    Florian Westphal authored
    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: d9e4c129 ("mptcp: only admit explicitly supported sockopt")
    Reported-by: syzbot+1fd9b69cde42967d1add@syzkaller.appspotmail.com
    Signed-off-by: default avatarFlorian Westphal <fw@strlen.de>
    Signed-off-by: default avatarMat Martineau <mathew.j.martineau@linux.intel.com>
    Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
    404cd9a2
sockopt.c 26.5 KB