From 90d8668e4ac34a84c52dc5b078af9d982323502c Mon Sep 17 00:00:00 2001 From: Ronnie Sahlberg Date: Mon, 30 Oct 2017 13:28:03 +1100 Subject: [PATCH] cifs: check MaxPathNameComponentLength != 0 before using it commit f74bc7c6679200a4a83156bb89cbf6c229fe8ec0 upstream. And fix tcon leak in error path. Signed-off-by: Ronnie Sahlberg Signed-off-by: Steve French Reviewed-by: David Disseldorp [bwh: Backported to 3.2: cifs_tcon pointer is tcon, and there's no leak to fix] Signed-off-by: Ben Hutchings --- fs/cifs/dir.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fs/cifs/dir.c b/fs/cifs/dir.c index a1c99c4e7763b..22758b1c14261 100644 --- a/fs/cifs/dir.c +++ b/fs/cifs/dir.c @@ -521,7 +521,8 @@ cifs_lookup(struct inode *parent_dir_inode, struct dentry *direntry, oplock = pTcon->ses->server->oplocks ? REQ_OPLOCK : 0; /* Don't allow path components longer than the server max. */ - if (unlikely(direntry->d_name.len > + if (unlikely(pTcon->fsAttrInfo.MaxPathNameComponentLength && + direntry->d_name.len > le32_to_cpu(pTcon->fsAttrInfo.MaxPathNameComponentLength))) { rc = -ENAMETOOLONG; goto lookup_out; -- 2.47.2