summary refs log tree commit diff
path: root/fs/cifs
diff options
context:
space:
mode:
authorSteve French <stfrench@microsoft.com>2018-06-14 22:30:56 -0500
committerSteve French <stfrench@microsoft.com>2018-06-15 02:38:08 -0500
commitd819d298c7258849d56eb400be436aff3ba2aae2 (patch)
tree96fef88349ee28071238b70a3cd2b1c664510474 /fs/cifs
parent115d5d288dc3368e3d6e7eb9ee213b342f072c23 (diff)
downloadlinux-d819d298c7258849d56eb400be436aff3ba2aae2.tar.gz
smb3: fix corrupt path in subdirs on smb311 with posix
Signed-off-by: Steve French <stfrench@microsoft.com>
Diffstat (limited to 'fs/cifs')
-rw-r--r--fs/cifs/smb2misc.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/cifs/smb2misc.c b/fs/cifs/smb2misc.c
index 0de87ca33e2e..3ff7cec2da81 100644
--- a/fs/cifs/smb2misc.c
+++ b/fs/cifs/smb2misc.c
@@ -454,7 +454,8 @@ cifs_convert_path_to_utf16(const char *from, struct cifs_sb_info *cifs_sb)
 #ifdef CONFIG_CIFS_SMB311
 	/* SMB311 POSIX extensions paths do not include leading slash */
 	else if (cifs_sb_master_tlink(cifs_sb) &&
-		 cifs_sb_master_tcon(cifs_sb)->posix_extensions) {
+		 cifs_sb_master_tcon(cifs_sb)->posix_extensions &&
+		 (from[0] == '/')) {
 		start_of_path = from + 1;
 	}
 #endif /* 311 */