net: Return errno in sk->sk_prot->get_port().
authorKuniyuki Iwashima <kuniyu@amazon.com>
Fri, 18 Nov 2022 18:25:06 +0000 (10:25 -0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 21 Nov 2022 13:05:39 +0000 (13:05 +0000)
commit7a7160edf1bfde25422262fb26851cef65f695d3
treefdc0257f0c6b52d6e30b8d9d6f4a694a21d467b8
parent1cb50726329070a6e3235b6bac38dfb8d5fd18c2
net: Return errno in sk->sk_prot->get_port().

We assume the correct errno is -EADDRINUSE when sk->sk_prot->get_port()
fails, so some ->get_port() functions return just 1 on failure and the
callers return -EADDRINUSE instead.

However, mptcp_get_port() can return -EINVAL.  Let's not ignore the error.

Note the only exception is inet_autobind(), all of whose callers return
-EAGAIN instead.

Fixes: cec37a6e41aa ("mptcp: Handle MP_CAPABLE options for outgoing connections")
Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/af_inet.c
net/ipv4/inet_connection_sock.c
net/ipv4/ping.c
net/ipv4/udp.c
net/ipv6/af_inet6.c