[linux] 01/01: cifs: check MaxPathNameComponentLength != 0 before using it

debian-kernel at lists.debian.org debian-kernel at lists.debian.org
Wed Nov 8 21:04:38 UTC 2017


This is an automated email from the git hooks/post-receive script.

carnil pushed a commit to branch stretch
in repository linux.

commit 433d5ac6dfcf794c33ad456b3dfc3b77bbed4627
Author: Salvatore Bonaccorso <carnil at debian.org>
Date:   Wed Nov 8 21:58:42 2017 +0100

    cifs: check MaxPathNameComponentLength != 0 before using it
    
    Thanks: Andrew Chadwick and Axel Schäfer
    
    Closes: #880504
---
 debian/changelog                                   |  5 +++
 ...MaxPathNameComponentLength-0-before-using.patch | 42 ++++++++++++++++++++++
 debian/patches/series                              |  1 +
 3 files changed, 48 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index 946fc36..6457be1 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,10 +1,15 @@
 linux (4.9.51-2) UNRELEASED; urgency=medium
 
+  [ Ben Hutchings ]
   * [armhf] dts: exynos: Add dwc3 SUSPHY quirk (Closes: #843448)
   * [mips*] Remove pt_regs adjustments in indirect syscall handler
     (Closes: #867358)
   * [arm64] brcmfmac: Enable BRCMFMAC_SDIO (Closes: #877911)
 
+  [ Salvatore Bonaccorso ]
+  * cifs: check MaxPathNameComponentLength != 0 before using it.
+    Thanks to Andrew Chadwick and Axel Schäfer (Closes: #880504)
+
  -- Ben Hutchings <ben at decadent.org.uk>  Sun, 01 Oct 2017 16:14:43 +0100
 
 linux (4.9.51-1) stretch; urgency=medium
diff --git a/debian/patches/bugfix/all/cifs-check-MaxPathNameComponentLength-0-before-using.patch b/debian/patches/bugfix/all/cifs-check-MaxPathNameComponentLength-0-before-using.patch
new file mode 100644
index 0000000..bb368c8
--- /dev/null
+++ b/debian/patches/bugfix/all/cifs-check-MaxPathNameComponentLength-0-before-using.patch
@@ -0,0 +1,42 @@
+From: Ronnie Sahlberg <lsahlber at 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 at redhat.com>
+Signed-off-by: Steve French <smfrench at gmail.com>
+CC: Stable <stable at vger.kernel.org>
+Reviewed-by: David Disseldorp <ddiss at 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 dd3e236d7a2b..d9cbda269462 100644
+--- a/fs/cifs/dir.c
++++ b/fs/cifs/dir.c
+@@ -193,7 +193,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;
+ 
+@@ -509,7 +510,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.15.0
+
diff --git a/debian/patches/series b/debian/patches/series
index 0a4dce3..5dfeb5c 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -100,6 +100,7 @@ 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/ext4-preserve-i_mode-if-__ext4_set_acl-fails.patch
 bugfix/all/ext4-don-t-clear-sgid-when-inheriting-acls.patch
+bugfix/all/cifs-check-MaxPathNameComponentLength-0-before-using.patch
 
 # Miscellaneous features
 features/all/netfilter-nft_ct-add-notrack-support.patch

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/kernel/linux.git



More information about the Kernel-svn-changes mailing list