Sophie

Sophie

distrib > Scientific%20Linux > 5x > x86_64 > by-pkgid > 27922b4260f65d317aabda37e42bbbff > files > 434

kernel-2.6.18-238.el5.src.rpm

From: Jeff Layton <jlayton@redhat.com>
Date: Thu, 19 Nov 2009 14:38:29 -0500
Subject: [cifs] copy struct *after* setting port, not before
Message-id: <1258641517-20756-3-git-send-email-jlayton@redhat.com>
Patchwork-id: 21437
O-Subject: [RHEL5.5 PATCH 02/10] BZ#500838: cifs: Copy struct *after* setting
	the port, instead of before.
Bugzilla: 500838
RH-Acked-by: Peter Staubach <staubach@redhat.com>

From: Simo Leone <simo@archlinux.org>

(Upstream commit 6debdbc0ba6253ac519cd5a3d22e30f1f9f1dd12)

Acked-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Simo Leone <simo@archlinux.org>
Signed-off-by: Steve French <sfrench@us.ibm.com>

diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c
index f3c56c2..d4eb872 100644
--- a/fs/cifs/connect.c
+++ b/fs/cifs/connect.c
@@ -1579,14 +1579,14 @@ cifs_get_tcp_session(struct smb_vol *volume_info)
 		cFYI(1, ("attempting ipv6 connect"));
 		/* BB should we allow ipv6 on port 139? */
 		/* other OS never observed in Wild doing 139 with v6 */
+		sin_server6->sin6_port = htons(volume_info->port);
 		memcpy(&tcp_ses->addr.sockAddr6, sin_server6,
 			sizeof(struct sockaddr_in6));
-		sin_server6->sin6_port = htons(volume_info->port);
 		rc = ipv6_connect(tcp_ses);
 	} else {
+		sin_server->sin_port = htons(volume_info->port);
 		memcpy(&tcp_ses->addr.sockAddr, sin_server,
 			sizeof(struct sockaddr_in));
-		sin_server->sin_port = htons(volume_info->port);
 		rc = ipv4_connect(tcp_ses);
 	}
 	if (rc < 0) {