diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2017-11-01 15:59:39 +0100 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2017-11-01 15:59:39 +0100 |
commit | 89db69d670a11274c323af48479841d3d765bd49 (patch) | |
tree | a465784ffca27512ead77508d62639554a767433 | |
parent | Merge tag 'pm-reverts-4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/... (diff) | |
parent | cifs: check MaxPathNameComponentLength != 0 before using it (diff) | |
download | linux-89db69d670a11274c323af48479841d3d765bd49.tar.xz linux-89db69d670a11274c323af48479841d3d765bd49.zip |
Merge tag 'smb3-file-name-too-long-fix' of git://git.samba.org/sfrench/cifs-2.6
Pull cifs fix from Steve French:
"smb3 file name too long fix"
* tag 'smb3-file-name-too-long-fix' of git://git.samba.org/sfrench/cifs-2.6:
cifs: check MaxPathNameComponentLength != 0 before using it
-rw-r--r-- | fs/cifs/dir.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/fs/cifs/dir.c b/fs/cifs/dir.c index e702d48bd023..81ba6e0d88d8 100644 --- a/fs/cifs/dir.c +++ b/fs/cifs/dir.c @@ -204,7 +204,8 @@ check_name(struct dentry *direntry, struct cifs_tcon *tcon) struct cifs_sb_info *cifs_sb = CIFS_SB(direntry->d_sb); int i; - if (unlikely(direntry->d_name.len > + if (unlikely(tcon->fsAttrInfo.MaxPathNameComponentLength && + direntry->d_name.len > le32_to_cpu(tcon->fsAttrInfo.MaxPathNameComponentLength))) return -ENAMETOOLONG; @@ -520,7 +521,7 @@ cifs_atomic_open(struct inode *inode, struct dentry *direntry, rc = check_name(direntry, tcon); if (rc) - goto out_free_xid; + goto out; server = tcon->ses->server; |