diff options
author | Anna Schumaker <Anna.Schumaker@Netapp.com> | 2021-07-20 22:04:42 +0200 |
---|---|---|
committer | Anna Schumaker <Anna.Schumaker@Netapp.com> | 2021-08-09 23:25:36 +0200 |
commit | 5d46dd04cb68771f77ba66dbf6fd323a4a2ce00d (patch) | |
tree | 400cd39f33fd91463461774418931a815e2817de /net | |
parent | SUNRPC/xprtrdma: Fix reconnection locking (diff) | |
download | linux-5d46dd04cb68771f77ba66dbf6fd323a4a2ce00d.tar.xz linux-5d46dd04cb68771f77ba66dbf6fd323a4a2ce00d.zip |
sunrpc: Fix return value of get_srcport()
Since bc1c56e9bbe9 transport->srcport may by unset, causing
get_srcport() to return 0 when called. Fix this by querying the port
from the underlying socket instead of the transport.
Fixes: bc1c56e9bbe9 (SUNRPC: prevent port reuse on transports which don't request it)
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Diffstat (limited to 'net')
-rw-r--r-- | net/sunrpc/xprtsock.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/sunrpc/xprtsock.c b/net/sunrpc/xprtsock.c index e573dcecdd66..02b071dbdd22 100644 --- a/net/sunrpc/xprtsock.c +++ b/net/sunrpc/xprtsock.c @@ -1656,7 +1656,7 @@ static int xs_get_srcport(struct sock_xprt *transport) unsigned short get_srcport(struct rpc_xprt *xprt) { struct sock_xprt *sock = container_of(xprt, struct sock_xprt, xprt); - return sock->srcport; + return xs_sock_getport(sock->sock); } EXPORT_SYMBOL(get_srcport); |