diff options
author | Anna Schumaker <Anna.Schumaker@Netapp.com> | 2021-07-20 23:04:42 +0300 |
---|---|---|
committer | Anna Schumaker <Anna.Schumaker@Netapp.com> | 2021-08-10 00:25:36 +0300 |
commit | 5d46dd04cb68771f77ba66dbf6fd323a4a2ce00d (patch) | |
tree | 400cd39f33fd91463461774418931a815e2817de /net/sunrpc/xprtsock.c | |
parent | f99fa50880f5300fbbb3c0754ddc7f8738d24fe7 (diff) | |
download | linux-5d46dd04cb68771f77ba66dbf6fd323a4a2ce00d.tar.xz |
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/sunrpc/xprtsock.c')
-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); |