[PATCH 14/28] sys_symlinkat() elevate write count around vfs_symlink()

Dave Hansen
2006-08-02T00:01:14Z

lxc-dave/fs/namei.c | 5 +++++
1 files changed, 5 insertions(+)

diff -puN fs/namei.c~C-elevate-writers-vfs_symlink-part3 fs/namei.c
--- lxc/fs/namei.c~C-elevate-writers-vfs_symlink-part3 2006-08-01 16:35:23.000000000 -0700
+++ lxc-dave/fs/namei.c 2006-08-01 16:35:24.000000000 -0700
@@ -2226,7 +2226,12 @@ asmlinkage long sys_symlinkat(const char
if (IS_ERR(dentry))
goto out_unlock;

+ error = mnt_want_write(nd.mnt);
+ if (error)
+ goto out_dput;
error = vfs_symlink(nd.dentry->d_inode, dentry, from, S_IALLUGO);
+ mnt_drop_write(nd.mnt);
+out_dput:
dput(dentry);
out_unlock:
mutex_unlock(&nd.dentry->d_inode->i_mutex);
_