From: Trond Myklebust Date: Tue, 24 Aug 2021 15:38:17 +0000 (-0400) Subject: SUNRPC: Simplify socket shutdown when not reusing TCP ports X-Git-Tag: v5.15-rc1~96^2~8 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0a6ff58edbfb26469a095ab964095506352fc960;p=thirdparty%2Flinux.git SUNRPC: Simplify socket shutdown when not reusing TCP ports If we're not required to reuse the TCP port, then we can just immediately close the socket, and leave the cleanup details to the TCP layer. Fixes: e6237b6feb37 ("NFSv4.1: Don't rebind to the same source port when reconnecting to the server") Signed-off-by: Trond Myklebust Signed-off-by: Anna Schumaker --- diff --git a/net/sunrpc/xprtsock.c b/net/sunrpc/xprtsock.c index 02b071dbdd225..5fb969f8a5adf 100644 --- a/net/sunrpc/xprtsock.c +++ b/net/sunrpc/xprtsock.c @@ -2099,6 +2099,10 @@ static void xs_tcp_shutdown(struct rpc_xprt *xprt) if (sock == NULL) return; + if (!xprt->reuseport) { + xs_close(xprt); + return; + } switch (skst) { default: kernel_sock_shutdown(sock, SHUT_RDWR);