summaryrefslogtreecommitdiffstats
path: root/fs/cifs/misc.c
diff options
context:
space:
mode:
authorSteve French <sfrench@us.ibm.com>2008-12-18 02:41:20 +0100
committerSteve French <sfrench@us.ibm.com>2008-12-26 03:29:13 +0100
commitc6fbba0546d3ead18d4a623e76e28bcbaa66a325 (patch)
treefa2789812091b4feb35bcb9bcae0979ef1d588c5 /fs/cifs/misc.c
parentRemove an already-checked error condition in SendReceiveBlockingLock (diff)
downloadlinux-c6fbba0546d3ead18d4a623e76e28bcbaa66a325.tar.xz
linux-c6fbba0546d3ead18d4a623e76e28bcbaa66a325.zip
[CIFS] make sure that DFS pathnames are properly formed
The paths in a DFS request are supposed to only have a single preceding backslash, but we are sending them with a double backslash. This is exposing a bug in Windows where it also sends a path in the response that has a double backslash. The existing code that builds the mount option string however expects a double backslash prefix in a couple of places when it tries to use the path returned by build_path_from_dentry. Fix compose_mount_options to expect properly formed DFS paths (single backslash at front). Also clean up error handling in that function. There was a possible NULL pointer dereference and situations where a partially built option string would be returned. Tested against Samba 3.0.28-ish server and Samba 3.3 and Win2k8. CC: Stable <stable@kernel.org> Signed-off-by: Jeff Layton <jlayton@redhat.com> Signed-off-by: Steve French <sfrench@us.ibm.com>
Diffstat (limited to 'fs/cifs/misc.c')
0 files changed, 0 insertions, 0 deletions