From: Pavel Shilovsky <pshilovsky@samba.org>
Date: Mon, 9 Jul 2012 12:09:23 +0000 (+0400)
Subject: CIFS: Fix a wrong pointer in atomic_open
X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=4b1241006c337f57745b0fc2f17b24f8009ca82d;p=linux.git

CIFS: Fix a wrong pointer in atomic_open

Commit 30d904947459cca2beb69e0110716f5248b31f2a caused a regression
in cifs open codepath.

Reviewed-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Pavel Shilovsky <pshilovsky@samba.org>
Signed-off-by: Steve French <smfrench@gmail.com>
---

diff --git a/fs/cifs/dir.c b/fs/cifs/dir.c
index d364654491e33..2caba0b54acbe 100644
--- a/fs/cifs/dir.c
+++ b/fs/cifs/dir.c
@@ -387,7 +387,6 @@ cifs_atomic_open(struct inode *inode, struct dentry *direntry,
 	struct cifs_tcon *tcon;
 	__u16 fileHandle;
 	__u32 oplock;
-	struct file *filp;
 	struct cifsFileInfo *pfile_info;
 
 	/* Posix open is only called (at lookup time) for file create now.  For
@@ -418,7 +417,6 @@ cifs_atomic_open(struct inode *inode, struct dentry *direntry,
 	     inode, direntry->d_name.name, direntry);
 
 	tlink = cifs_sb_tlink(CIFS_SB(inode->i_sb));
-	filp = ERR_CAST(tlink);
 	if (IS_ERR(tlink))
 		goto out_free_xid;
 
@@ -436,10 +434,9 @@ cifs_atomic_open(struct inode *inode, struct dentry *direntry,
 		goto out;
 	}
 
-	pfile_info = cifs_new_fileinfo(fileHandle, filp, tlink, oplock);
+	pfile_info = cifs_new_fileinfo(fileHandle, file, tlink, oplock);
 	if (pfile_info == NULL) {
 		CIFSSMBClose(xid, tcon, fileHandle);
-		fput(filp);
 		rc = -ENOMEM;
 	}