summaryrefslogtreecommitdiffstats
path: root/fs/cifs/connect.c
diff options
context:
space:
mode:
authorLong Li <longli@microsoft.com>2019-05-15 14:09:04 -0700
committerSteve French <stfrench@microsoft.com>2019-05-15 22:27:45 -0500
commit3b249115719ba2cb56d3f92ee7492e033059d3f3 (patch)
treecf68df1fc926cc4416cb8325f98f295f907ff08f /fs/cifs/connect.c
parent7f46d23e1b14f0827eb19c60eedcc6525ca2e742 (diff)
downloadlinux-3b249115719ba2cb56d3f92ee7492e033059d3f3.tar.bz2
cifs: Don't match port on SMBDirect transport
SMBDirect manages its own ports in the transport layer, there is no need to check the port to find a connection. Signed-off-by: Long Li <longli@microsoft.com> Signed-off-by: Steve French <stfrench@microsoft.com> Reviewed-by: Ronnie sahlberg <lsahlber@redhat.com>
Diffstat (limited to 'fs/cifs/connect.c')
-rw-r--r--fs/cifs/connect.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c
index 0b3ac8b76d18..8c4121da624e 100644
--- a/fs/cifs/connect.c
+++ b/fs/cifs/connect.c
@@ -2446,6 +2446,10 @@ match_port(struct TCP_Server_Info *server, struct sockaddr *addr)
{
__be16 port, *sport;
+ /* SMBDirect manages its own ports, don't match it here */
+ if (server->rdma)
+ return true;
+
switch (addr->sa_family) {
case AF_INET:
sport = &((struct sockaddr_in *) &server->dstaddr)->sin_port;