From d0d853d0d9e3b1449be8899a1ab01a604597aa8b Mon Sep 17 00:00:00 2001
From: Christoph Hellwig <hch@cloudius-systems.com>
Date: Wed, 14 Aug 2013 09:30:39 -0400
Subject: [PATCH] vfs: fully initialize struct file before calling VOP_OPEN

We'll pass the file to the open method soon, so make sure it's fully
constructed.
---
 fs/vfs/vfs_syscalls.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/fs/vfs/vfs_syscalls.c b/fs/vfs/vfs_syscalls.c
index c1e622f6e..8b70a45f5 100755
--- a/fs/vfs/vfs_syscalls.c
+++ b/fs/vfs/vfs_syscalls.c
@@ -119,15 +119,15 @@ sys_open(char *path, int flags, mode_t mode, struct file *fp)
 		}
 	}
 
+	finit(fp, flags, DTYPE_VNODE, NULL, &vfs_ops);
+	fp->f_vnode = vp;
+
 	/* Request to file system */
 	if ((error = VOP_OPEN(vp, flags)) != 0) {
 		vput(vp);
 		return error;
 	}
 
-	finit(fp, flags, DTYPE_VNODE, NULL, &vfs_ops);
-	fp->f_vnode = vp;
-
 	vn_unlock(vp);
 	return 0;
 }
-- 
GitLab