diff options
author | Steve French <sfrench@us.ibm.com> | 2008-12-18 02:41:20 +0100 |
---|---|---|
committer | Steve French <sfrench@us.ibm.com> | 2008-12-26 03:29:13 +0100 |
commit | c6fbba0546d3ead18d4a623e76e28bcbaa66a325 (patch) | |
tree | fa2789812091b4feb35bcb9bcae0979ef1d588c5 /fs/cifs/misc.c | |
parent | Remove an already-checked error condition in SendReceiveBlockingLock (diff) | |
download | linux-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