Skip to content

Commit d3a49f6

Browse files
palismfrench
authored andcommitted
cifs: Do not convert delimiter when parsing NFS-style symlinks
NFS-style symlinks have target location always stored in NFS/UNIX form where backslash means the real UNIX backslash and not the SMB path separator. So do not mangle slash and backslash content of NFS-style symlink during readlink() syscall as it is already in the correct Linux form. This fixes interoperability of NFS-style symlinks with backslashes created by Linux NFS3 client throw Windows NFS server and retrieved by Linux SMB client throw Windows SMB server, where both Windows servers exports the same directory. Fixes: d5ecebc ("smb3: Allow query of symlinks stored as reparse points") Acked-by: Paulo Alcantara (Red Hat) <[email protected]> Signed-off-by: Pali Rohár <[email protected]> Signed-off-by: Steve French <[email protected]>
1 parent 556ac52 commit d3a49f6

File tree

1 file changed

+0
-1
lines changed

1 file changed

+0
-1
lines changed

fs/smb/client/reparse.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -347,7 +347,6 @@ static int parse_reparse_posix(struct reparse_posix_data *buf,
347347
cifs_sb->local_nls);
348348
if (!data->symlink_target)
349349
return -ENOMEM;
350-
convert_delimiter(data->symlink_target, '/');
351350
cifs_dbg(FYI, "%s: target path: %s\n",
352351
__func__, data->symlink_target);
353352
break;

0 commit comments

Comments
 (0)