cifs: check MaxPathNameComponentLength != 0 before using it
Thanks: Andrew Chadwick Closes: #880504
This commit is contained in:
parent
384fa91229
commit
4b0df3bed7
|
@ -47,7 +47,11 @@ linux (4.13.11-1) UNRELEASED; urgency=medium
|
|||
- [powerpc*] xive: Fix the size of the cpumask used in
|
||||
xive_find_target_in_mask()
|
||||
|
||||
-- Salvatore Bonaccorso <carnil@debian.org> Sat, 04 Nov 2017 08:41:02 +0100
|
||||
[ Salvatore Bonaccorso ]
|
||||
* cifs: check MaxPathNameComponentLength != 0 before using it.
|
||||
Thanks to Andrew Chadwick (Closes: #880504)
|
||||
|
||||
-- Salvatore Bonaccorso <carnil@debian.org> Sat, 04 Nov 2017 09:54:41 +0100
|
||||
|
||||
linux (4.13.10-1) unstable; urgency=medium
|
||||
|
||||
|
|
42
debian/patches/bugfix/all/cifs-check-MaxPathNameComponentLength-0-before-using.patch
vendored
Normal file
42
debian/patches/bugfix/all/cifs-check-MaxPathNameComponentLength-0-before-using.patch
vendored
Normal file
|
@ -0,0 +1,42 @@
|
|||
From: Ronnie Sahlberg <lsahlber@redhat.com>
|
||||
Date: Mon, 30 Oct 2017 13:28:03 +1100
|
||||
Subject: cifs: check MaxPathNameComponentLength != 0 before using it
|
||||
Origin: https://git.kernel.org/linus/f74bc7c6679200a4a83156bb89cbf6c229fe8ec0
|
||||
Bug-Debian: https://bugs.debian.org/880504
|
||||
|
||||
And fix tcon leak in error path.
|
||||
|
||||
Signed-off-by: Ronnie Sahlberg <lsahlber@redhat.com>
|
||||
Signed-off-by: Steve French <smfrench@gmail.com>
|
||||
CC: Stable <stable@vger.kernel.org>
|
||||
Reviewed-by: David Disseldorp <ddiss@samba.org>
|
||||
---
|
||||
fs/cifs/dir.c | 5 +++--
|
||||
1 file 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;
|
||||
|
||||
--
|
||||
2.11.0
|
||||
|
|
@ -78,6 +78,7 @@ bugfix/all/fs-add-module_softdep-declarations-for-hard-coded-cr.patch
|
|||
bugfix/all/partially-revert-usb-kconfig-using-select-for-usb_co.patch
|
||||
bugfix/all/kbuild-include-addtree-remove-quotes-before-matching-path.patch
|
||||
bugfix/all/bfq-re-enable-auto-loading-when-built-as-a-module.patch
|
||||
bugfix/all/cifs-check-MaxPathNameComponentLength-0-before-using.patch
|
||||
|
||||
# Miscellaneous features
|
||||
|
||||
|
|
Loading…
Reference in New Issue