summaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorSteve French <smfrench@gmail.com>2014-09-16 06:40:25 -0500
committerSteve French <smfrench@gmail.com>2014-09-16 06:48:20 -0500
commit364d42930d96a872b2076deeb9c24f9ff132de34 (patch)
treef903456803ea800d504df9bb2ec484cae2146fac /fs
parent69af38dbc5b44e90dde35af4a1df3f5510809a1a (diff)
downloadlinux-364d42930d96a872b2076deeb9c24f9ff132de34.tar.gz
linux-364d42930d96a872b2076deeb9c24f9ff132de34.tar.bz2
linux-364d42930d96a872b2076deeb9c24f9ff132de34.zip
Fix mfsymlinks file size check
If the mfsymlinks file size has changed (e.g. the file no longer represents an emulated symlink) we were not returning an error properly. Signed-off-by: Steve French <smfrench@gmail.com> Reviewed-by: Stefan Metzmacher <metze@samba.org>
Diffstat (limited to 'fs')
-rw-r--r--fs/cifs/link.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/cifs/link.c b/fs/cifs/link.c
index a5c2812ead68..5657416d3483 100644
--- a/fs/cifs/link.c
+++ b/fs/cifs/link.c
@@ -343,9 +343,11 @@ cifs_query_mf_symlink(unsigned int xid, struct cifs_tcon *tcon,
if (rc)
return rc;
- if (file_info.EndOfFile != cpu_to_le64(CIFS_MF_SYMLINK_FILE_SIZE))
+ if (file_info.EndOfFile != cpu_to_le64(CIFS_MF_SYMLINK_FILE_SIZE)) {
+ rc = -ENOENT;
/* it's not a symlink */
goto out;
+ }
io_parms.netfid = fid.netfid;
io_parms.pid = current->tgid;