sunrpc: Fix return value of get_srcport()
[ Upstream commit 5d46dd04cb68771f77ba66dbf6fd323a4a2ce00d ] 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> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
21a2be1a51
commit
f02ab9d1d3
@@ -1642,7 +1642,7 @@ static int xs_get_srcport(struct sock_xprt *transport)
|
|||||||
unsigned short get_srcport(struct rpc_xprt *xprt)
|
unsigned short get_srcport(struct rpc_xprt *xprt)
|
||||||
{
|
{
|
||||||
struct sock_xprt *sock = container_of(xprt, struct sock_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);
|
EXPORT_SYMBOL(get_srcport);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user